Docker常用命令
帮助启动类命令
启动Docker:
systemctl start docker停止Docker:
systemctl stop docker重启Docker:
systemctl restart docker查看Docker状态:
systemctl status docker停止并查看Docker状态
启动并查看Docker状态
开机启动:
systemctl enable docker查看Docker概要信息:
docker info
查看Docker总体帮助文档:
docker --help查看Docker命令帮助文档:
docker 具体命令 --help
镜像命令
- 列出本地主机上的镜像:
docker images
一个仓库源中可以有镜像的不同版本,通常使用REPOSITORY:TAG来定义不同版本的镜像。
如果拉取镜像的时候不指定TAG,则默认是最新的版本,也就是latest
常用OPTIONS
- 在仓库中查找镜像:
docker search xxxx
- 拉取镜像:
docker pull xxxx[:TAG]不加TAG默认是latest最新版
也可指定版本
虚悬镜像(DangLing Image)指的是REPOSITORY和TAG均为
<none>的镜像,这种镜像建议删除
- 查看镜像、容器、数据卷占用的空间:
docker system df
- 删除镜像:
docker rmi 镜像ID此命令支持一次删除单个或者多个,rmi,这里的i就是image
同时可以看到镜像ID其实是sha256的前一部分
删除全部,$取出所有的镜像ID
docker rmi -f $(docker images -qa)
启停容器命令
- 新建+启动容器:
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]以CentOS镜像为例,在Docker上启动一个CentOS容器实例
常用OPTIONS
- —name=”新的容器名字”:为运行的容器起一个名字
- -d:后台运行并返回容器ID
- -i:以交互模式运行容器,通常配合-t使用
- -t:为容器分配一个伪输入终端,通常配合-i使用
- -P:随机端口映射
- -p:指定端口映射。端口映射指的是:我们通过Docker对外暴露的端口访问Docker内部运行的容器,比如端口映射为80:8080,那么我们可以通过访问Docker宿主机的80端口,从而访问到Docker上运行的8080端口容器。
- 启动守护式容器
-it是交互式容器,也就是保持一个交互窗口,如果窗口关闭了,那么容器也就关闭了
-d是守护式容器,在后台运行
这是由于Docker的机制造成的:Docker容器想要后台运行,就必须有一个前台进程。
如果容器运行的命令不是那些一直挂起的命令(比如top,tail等),那么容器会自动退出。
由于以后台的方式启动CentOS后,并没有前台进程并且没有挂起命令,所以自动退出了。
可以以前台的方式启动,然后退出容器不停止,具体见后面的退出操作。
- 列出当前所有正在运行的容器:
docker psCOMMAND表示启动容器时运行的命令
常用OPTIONS
退出容器
- exit:退出容器,容器停止

- exit:退出容器,容器停止
- ctrl+p+q:退出容器,容器不停止。

- 启动已停止运行的容器:
docker start 容器ID或容器名因为Docker run的话,每次都会新创建一个容器,而不是启动已经停止的容器。
重启容器:
docker restart 容器ID或容器名停止容器:
docker stop 容器ID或容器名强制停止容器:
docker kill 容器ID或容器名删除已经停止的容器:
docker rm 容器ID
一次删除多个容器实例
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
操作容器命令
- 以Redis为例
以后台的方式运行Redis
- 查看容器日志:
docker logs 容器ID
- 查看容器内运行的进程:
docker top 容器ID类似Linux的top命令
- 查看容器内部细节:
docker inspect 容器ID结果是JSON的形式,包括运行状态,镜像ID,配置等等各种信息
- 进入正在运行的容器并以命令行形式交互:
docker exec -it 容器ID bashShell或docker attach 容器ID(一般用exec即可)比如我们以前台的方式启动CentOS,然后退出不停止
exec和attach的区别:
- exec是在容器中打开新的终端,启动新的进程,而后exit退出容器并不会停止容器的运行。
- attach直接进入容器启动命令的终端,不启动新的进程,而后exit退出容器会停止容器的运行。
一般,我们使用-d运行容器,然后使用exec进入容器,与容器进行交互。
- 从容器内拷贝文件到主机上:
docker cp 容器ID:容器内路径 目的主机路径注意:此命令不是运行在容器内的CentOS上,是运行在宿主机的命令行。
- 导入(import)和导出(export)容器
导入导出容器是将整个容器打包,做备份。
导出容器:将整个容器导出为一个tar文件:
docker export 容器ID > 文件名.tar
导入容器:
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号,其中,镜像名、镜像用户和镜像版本号都是自定义的



















