1.搜索docker镜像
docker search centos # centos 为镜像名称
2.下载镜像
docker pull centos # centos 下载镜像
3.查看镜像
docker images
4.删除镜像
docker rmi 镜像id docker rmi -f(强制删除) 镜像id sudo docker rm $(sudo docker ps -a -q) sudo docker rm -f $(sudo docker ps -a -q)
5.启动容器
docker run -d(后台运行) --name test(指定启动容器名称) --rm(提出自动删除) -it(-i终端保存打开状态 -t让docker分配一个伪终端并绑定到容器的标准输入上) -p 91(外部访问的端口):80(内部映射端口) -P(随机映射端口) -h(指定主机名称) centos -v(创建数据卷) /data --link centos1(容器互联) centos /bin/bash -d :后台运行 -i :终端保存打开状态 -p :91(外部访问的端口):80(内部映射端口 -P :随机映射端口 -h :指定主机名称 -v :创建数据卷 -t :让docker分配一个伪终端并绑定到容器的标准输入上 -e :设置环境变量 --name :指定启动容器名称 --rm :提出自动删除 --link :容器互联 --network :指定连接的网络
6.停止和启动已经停止的容器
# 停止容器 docker stop 容器id # 启动停止的容器 docker container start 容器id # 重启容器 docker container restart 容器id # 暂停容器 docker pause 容器id # 启动暂停容器 docker unpause 容器id
7.删除容器
docker rm -f(强制删除 如果要删除没有停止的容器可以用 -f) 容器id #清除所有已经停止的容器 docker container prune
8.查看容器
docker ps -a docker ps -l #查看最后一个运行的容器
9.获取容器的pid
docker inspect --format "{{.State.Pid}}" 容器id(容器名称)
10.进入容器
nsenter --target 容器pid --mount --uts --ipc --net --pid 如果没有nsenter 命令 sudo yum install -y util-linux 或 sudo docker exec -it 容器id /bin/bash 或 sudo docker attach 容器id 退出容器 ctrl+d
11.bash: ip command not found centos
yum -y install initscripts
apt-get install initscripts
12.端口映射
docker run -P(随机映射端口) -d(后台) --name mynaginx nginx docker run -p 91(外部访问的端口):80(内部映射端口) -d --name mycentos centos
13.数据卷
docker run -it -d --name mycentos -h(指定主机名称) centos -v(创建数据卷) /data centos 查看数据卷信息 sudo docker inspect bc8e | grep Source # 创建数据卷 docker volume create my-vol(数据卷名称) # 查看已有的数据卷 docker volume ls #查看数据卷信息 docker volume inspect my-vol(数据卷名称) # 删除数据卷 docker volume rm my-vol(数据卷名称)
14.导入导出容器
# 导出容器 docker export 7691a814370e(容器id) > centos(导出的文件名称) # 导入容器 cat centos(导入文件的名称) | docker import - test/ubuntu:v1.0(镜像名称)
15.取消docker命令前的sudo
sudo groupadd docker # 创建新的用户组 sudo gpasswd -a vagrant docker # 将vagrant加入到docker组中 sudo service docker restart # 重启docker服务 exit # 退出 vagrant ssh # 重新登入