Docker常用命令
1. 帮助命令
$ docker version #显示docker的版本信息
$ docker info #显示docker的系统信息 包括镜像和容器的数量
$ docker COMMAND --help #万能命令
2. 镜像命令
- docker images 查看所有本地的主机上的镜像
$ docker images [OPTIONS] [REPOSITORY[:TAG]]
# 举例
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tomcat latest 46cfbf1293b1 10 days ago 668MB
nginx latest 4cdc5dd7eaad 3 weeks ago 133MB
#解释
REPOSITORY 镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像的id
CREATED 镜像的创建时间
SIZE 镜像的大小
# 可选项OPTIONS
-a, --all 列出所有的镜像
-q, --quiet 只显示镜像的Id
- docker search 搜索镜像
$ docker search [OPTIONS] TERM
#搜索mysql镜像
$ docker search mysql
#可选项,通过搜藏来过滤
--filter=stars=3000 #搜索出来的镜像就是stars大于3000
- docker pull 拉取镜像
$ docker pull [OPTIONS] NAME[:TAG|@DIGEST]
# 1. 默认下载最新版本
$ docker pull 镜像名[:tag]版本默认最新版
$ docker pull mysql
# 2. 指定版本下载,官方文档要有的版本
$ docker pull mysql:5.7
- docker rmi 删除镜像
# 删除指定ID镜像
$ docker rmi -f 镜像ID
# 删除指定ID镜像 (多个)
$ docker rmi -f 镜像ID 镜像ID 镜像ID 镜像ID
# 递归删除所有镜像
$ docker rmi -f $(docker images -aq) 意思是全部镜像的id
3. 容器命令
- 有镜像才可以创建容器
- 新建容器并启动
$ docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
#参数说明
--name=“Name” 容器名称 tomcat01
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
容器端口
-P 随机指定端口
# 测试 启动并进入容器
$ docker run -it centos /bin/bash
# 退出容器
$ exit
- 列出所有正在运行的容器
$ docker ps [OPTIONS]
# 可选项
空 # 列出当前正在运行的容器
-a # 列出当前正在运行的容器 顺便带出历史的内容
-n=? # 显示最近创建的容器 ?后面是显示的个数
-q # 只显示容器的编号
#列出当前在运行的容器 (下面表示没有)
$ docker ps
#查看曾经运行过的容器
$ docker ps -a
- 退出容器
$ exit #容器停止退出
$ Ctrl + P + Q # 容器不停止退出
- 删除容器
$ docker rm 容器id # 删除指定容器,不能删除正在运行的容器,通过指定参数 rm -f 强制删除容器
$ ocker rm -f $(docker ps -aq) # 删除所有容器
$ docker ps -a -q|xargs docker rm # 删除所有容器
- 启动和停止容器
$ docker start 容器id #启动容器
$ docker restart 容器id #重启动容器
$ docker stop 容器id #停止当前正在运行动容器
$ docker kill 容器id #强制停止当前容器
4. 其他常用命令
- 后台启动容器
# 通过命令 docker run -d 镜像名 后台启动容器
# 问题 docker ps 时候发现 centos停止了
# 常见的坑:docker 容器后台运行,就必须要有一个前台进程 。docker发现没有命令就会停止
- 查看日志
$ docker logs -f -t --tail 10 #容器id 没有日志
#显示日志
- tf #显示全部日志
--tail number #要显示的日志条数
- 查看容器中的进程信息
$ docker top 容器id
- 查看镜像的元数据
$ docker inspect 容器ID
- 进入当前正在运行的容器
# 通常容器都是使用后台方式运行的,需要进入容器,修改一些配置
# 命令1 :
$ docker exec -it 容器ID bashshell
# 命令2:
$ docker attach 容器ID
# 两种方法比较
$ docker exec -it 容器ID :进入容器后开启一个新的终端,可以在里面操作
$ docker attach 容器ID :进入容器正在执行的终端,不会启动新的进程
- 从容器内拷贝文件到主机上
$ docker cp 容器ID:容器内路径 目的主机路径v
本文摘抄或总结其他笔记,笔记不涉及任何商业用途,如果侵权请及时联系处理