Docker 常用命令
安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io
设为开机启动
systemctl enable docker
非常重要!!!否则可能重启机器后再次启动 docker
时会出现以下错误信息:
1 | Failed to start docker: Unit docker is masked. |
查看运行状态
systemctl status docker
停止
systemctl stop docker
启动
systemctl start docker
重启
systemctl restart docker
查看版本信息
docker version
查看命令帮助
docker --help
列出镜像
docker images
拉取镜像
docker pull [OPTIONS] NAME[:tag]
配置镜像加速器
参考 阿里云容器镜像加速器服务
查找镜像
docker search NAME
删除镜像
docker rmi NAME1/ID1 NAME2/ID2
查看容器
- 查看正在运行的容器:
docker ps
- 查看所有容器:
docker ps -a
- 查看最后一次运行的容器:
docker ps -l
退出容器
exit
创建交互式容器
docker run -i -t --name=[NAME] IMAGE /bin/bash
-i
:交互式操作-t
:分配一个可操作容器的终端--name=[NAME]
:指定容器名称(唯一)
可选参数可合并:docker run -it --name [NAME] IMAGE /bin/bash
交互式容器 exit
退出后容器自动关闭。
创建守护式容器
docker run -itd --name NAME IMAGE /bin/bash
-d
:指定容器运行模式
进入守护式容器
docker exec -it [CONTAINER ID] /bin/bash
守护式容器 exit
退出后容器继续运行。
启动已停止运行的容器
docker start [CONTAINER ID]
停止容器
docker stop [CONTAINER ID]
重启容器
docker restart [CONTAINER ID]
删除容器
docker rm -f [CONTAINER ID]
删除时容器必须是停止状态。
删除全部容器(先查询出所有容器再删除):
1 | docker rm `docker ps -a -q` |
查看容器详细信息
docker inspect [CONTAINER NAME]
查看容器详细信息中某个属性的详细信息
1 | `docker inspect -f='{{.[属性名]}}' [CONTAINER NAME]` |
或
1 | `docker inspect --format='{{.[属性名]}}' [CONTAINER NAME]` |
文件拷贝
docker cp source target
可将宿主机的文件/目录拷贝至容器或将容器内的文件/目录拷贝至宿主机。
example
:
从宿主机(source
)拷贝至容器内(target
):
1 | docker cp ./1.txt container1:/root |
从容器内(source
)拷贝至宿主机(target
):
1 | docker cp container1:/root ./1.txt |
端口映射
创建容器时指定 -p
参数将容器内端口映射到宿主机的端口。
1 | docker run -itd --name=NAME -p 宿主机端口:容器端口 IMAGE /bin/bash |
目录挂载
创建容器时指定 -v
参数进行目录挂载。
1 | docker run -itd --name=NAME -v 宿主机目录:容器目录 IMAGE /bin/bash |
镜像打包
docker save -o [dir/NAME.tar] IMAGE_NAME
将打包的镜像上传至其它服务器
scp ./NAME.tar ip:/root/dir
导入打包镜像
docker load -i /root/dir/NAME.tar
容器打包
docker export -o /root/CONTAINER_NAME.tar CONTAINER_NAME
导入打包容器
docker import CONTAINER_NAME.tar CONTAINER_NAME