城东书院 www.cdsy.xyz
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 # 重新登入
城东书院 www.cdsy.xyz