1. 帮助命令
# 显示docker的版本信息
docker version
# 显示docker的系统信息,包括镜像和容器的数量
docker info
# 帮助命令
docker 命令 --help
docker命令帮助文档地址:https://docs.docker.com/reference/
2. 镜像命令
① docker images:查看本地主机上的所有镜像
# 解释
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小
![](https://i-blog.csdnimg.cn/blog_migrate/6ca9d2a4aaf5f5fde47d6a1a21d614a4.png#pic_center)
# 扩展项
-a, --all 列出所有镜像
-q, --quiet 只显示镜像id
![](https://i-blog.csdnimg.cn/blog_migrate/b382f1cf2e6820e10631967ba3347935.png#pic_center)
② docker search:搜索镜像
![](https://i-blog.csdnimg.cn/blog_migrate/681ba1dd5ec57fa9524b8db8bc8f4671.png#pic_center)
# 可通过可选项进行过滤搜索(搜索stars大于3000的mysql镜像)
docker search mysql --filter=STARS=3000
③ docker pull:下载镜像
# 下载mysql镜像,默认下载的是最新版本
docker pull mysql
# 也可指定版本下载(本版必须是docker hub上面存在的版本)
docker pull mysql:5.7
![](https://i-blog.csdnimg.cn/blog_migrate/532c731dd01c1811d64d0f0f3d3858cd.png#pic_center)
④ docker rmi:删除镜像
# 删除指定的镜像
docker rmi -f 镜像id
# 删除多个镜像
docker rmi -f 镜像id 镜像id 镜像id
# 删除全部的镜像
docker rmi -f $(docker images -aq)
![](https://i-blog.csdnimg.cn/blog_migrate/423d09e2662272172ee5c9b035cd3847.png#pic_center)
3. 容器命令
注意:有镜像之后才能创建容器
在docker里面下载一个centos镜像来测试容器命令
# 下载最新版本的centos
docker pull centos
![](https://i-blog.csdnimg.cn/blog_migrate/12e32364aca5801641cfc3f9c637c1c1.png#pic_center)
① 新建并启动容器
docker run [可选项参数] image
# 可选项参数说明
--name="name" 容器名字,用来区分容器
-d 以后台方式运行
-it 使用交互方式运行,进入容器查看内容
-P 指定容器的端口
-P ip:主机端口:容器端口 带ip的主机端口映射到容器端口
-P 主机端口:容器端口(常用) 主机端口映射到容器端口
-P 容器端口
-p 随机指定端口
![](https://i-blog.csdnimg.cn/blog_migrate/21f62d584a5e663d5b30e411aaa35bb4.png#pic_center)
② 启动并进入centos
docker run -it centos /bin/bash
③ 退出容器centos,回到主机
# 直接容器停止并退出
exit
# 容器不停止但退出(通过快捷键)
Ctrl + P + Q
![](https://i-blog.csdnimg.cn/blog_migrate/a282d8dad0236133391040aeca644b69.png#pic_center)
④ 查询所有正在运行的容器
docker ps
# 可选项参数说明
-a 查询所有运行的容器(包括之前运行过的)
-n=? 显示最近创建的容器
-q 只显示容器的编号
![](https://i-blog.csdnimg.cn/blog_migrate/eee2847be257204a64d3a0244571c430.png#pic_center)
⑤ 删除容器
# 删除指定容器(正在运行的容器不能删除)
docker rm 容器id
# 删除所有容器方法一
docker rm -f $(docker ps -aq)
# 删除所有容器方法二
docker ps -a -q|xargs docker rm
![](https://i-blog.csdnimg.cn/blog_migrate/01b89f36aebf471fc1eb97d447a07c73.png#pic_center)
⑥ 启动和停止容器
# 启动容器
docker start 容器id
# 重启容器
docker restart 容器id
# 停止当前正在运行的容器
docker stop 容器id
# 强制停止当前容器
docker kill 容器id
4. 其他命令
# 查看日志
docker logs
# 可选项参数说明
-f 显示日志输出
-t 显示带时间戳的日志
--tail number 显示具体条数的日志
# 查看容器中的进程信息
docker top 容器id
# 查看容器内存信息
docker stats 容器id
# 查看镜像元数据
docker inspect 容器id
# 进入当前正在运行的容器
# 方式一:
docker exec -it 容器id bashshell(命令方式)
# 方式二:
docker attach 容器id
# 区别:
docker exec : 进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach :进入容器正在执行的终端,不会启动新的进程!
# 从容器内拷贝文件到主机内
docker cp 容器id:容器内路径 目的主机路径
5. 提交镜像
# 提交自己创建的镜像
docker commit -a="作者名字" -m="提交的内容描述" 容器id 镜像源
保存当前容器的状态,就可以通docker commit命令提交来获取一个镜像
![](https://i-blog.csdnimg.cn/blog_migrate/66890e449a0f2732aa3f9acc5a6c5866.png#pic_center)