> 文章列表 > Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

1.帮助命令

1.1 docker version(显示docker的版本信息)

sudo docker version

1.2 docker info(显示docker的系统信息,包括镜像容器数量)

sudo docker info

1.3 --help (万能命令)

sudo 命令 --help

1。4 帮助文档的地址

https://docs.docker.com/engine/reference/builder/

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

2. 镜像命令

查看所有本地的主机上的镜像

sudo docker images

2.1 docker images 查看所有本地的主机上的镜像

sudo docker images

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

  • REPOSITORY: 镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像的id
  • CREATED:镜像的创建时间
  • SIZE:镜像的大小

2.1.1 docker images 可选项

-a, --all # 列出所有的镜像
-q, --quiet # 只显示镜像的id

2.1.2 docker images -a

sudo docker images -a

2.1.3 docker images -q

sudo docker images -q

2.1.4 docker images -aq

sudo docker images -aq

2.2 docker search 搜索镜像

# 搜索mysql镜像 
sudo docker search mysql

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

2.2.1 通过 STARS 过滤

  • 搜索过滤出STARS大于3000的
sudo docker search mysql --filter=STARS=3000

2.3 docker pull 下载镜像

  • 下载mysql镜像(默认下载最新的)
sudo docker pull mysql

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

2.3.1 下载镜像加入版本号

sudo docker pull 镜像名[:tag]sudo docker pull mysql:5.7

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

2.4 删除镜像

2.4.1 删除所有镜像

sudo docker rmi -f $(docker images -aq)

2.4.2 删除指定ID的镜像

sudo docker rmi -f 镜像idsudo docker rmi -f c20987f18b13

2.4.3 删除多个镜像

sudo docker rmi -f 镜像id 镜像id 镜像id 镜像id

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

3. 容器命令

3.1 先下载一个centos来测试

我们有了镜像才可以创建容器,Linux,下载一个centos镜像来测试

3.2 新建容器并启动

sudo docker [可选参数] image

参数说明
–name=“Name” 容器名称
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080

  •   -p 主机端口:容器端口  
    
  •  -p ip:主机端口:容器端口  
    
  •  -p 容器端口  
    

-P 随机指定端口

3.3 启动容器并进入容器

sudo docker run -it 镜像名称 /bin/bashsudo docker run -it centos /bin/bash

进入容器后的命令,和Linux一样,例如,ls、cd等等

3.3 退出容器

3.3.1 直接容器停止并退出

exit

3.3.2 容器不停止退出

快捷键 ctrl + P + Q

3.4 查看运行中的容器

docker ps

3.5 查看曾经运行过的容器

  • 列出当前正在运行的容器 + 带出历史运行过的容器
docker ps -a

3.6 显示最近创建的容器

  • n=1 即显示最近创建的一个容器
sudo docker ps -a -n=?sudo docker ps -a -n=1

3.7 查看曾经运行过的容器id

sudo docker ps -aq

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)

3.8 删除容器

3.8.1 删除一个没有运行的容器

sudo docker rm 容器id

3.8.2 删除一个运行中的容器

sudo docker rm -f 容器id

3.8.3 删除所有容器

docker rm -f $(docker ps -aq)docker ps -a -q|xargs docker rm

3.9 启动和停止容器

docker start 容器id         # 启动容器
docker restart 容器id       # 重启容器
docker stop 容器id          # 停止当前正在运行的容器
docker kill 容器id          # 强制停止当前容器

4.常用其他命令

4.1 后台启动容器

  • 要特别注意:启动后会发现查看运行中的容器发现并没有,但是查看曾经启动
    过的容器时,却有,说明确实时启动过,只不过停止了
  • 这种情况是,docker 容器使用后台运行,就必须要有一个前台进程,docker
    发现没有应用,就会停止
docker run -d 镜像名

4.2 查看日志

  • 查看某个运行中的容器的最近的10条日志
docker logs -tf --tail 10 容器id
  • -t 日志加时间, -f 保留打印窗口,持续打印,–tail 10 显示最后的10行
  • -tf 显示日志
  • tail number 要显示日志的条数

4.3 查看容器中的进程信息

docker top 容器id

4.4 查看镜像的元数据

docker inspect 容器id

4.5 进入当前正在运行的容器

我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

  • 方式一
docker exec it 容器id /bin/bash
  • 方式二
docker attach 容器id

exec和attach区别

  • exec是进入容器后开启一个新的终端,可以在里面操作(常用)
  • attach是进入容器正在执行的终端

4.6 从容器内拷贝文件到主机上

  • 拷贝时,只要容器还在哪怕没有运行也可以拷贝
docker cp 容器id:容器内路径 目的主机路径#  将容器中python文件夹下的test.py拷贝到 主机上的home文件夹下
docker cp 3a5f401a1fb5:/python/test.py /home

4.7 没有设置开机自启,重新启动docker

systemctl daemon-reloadsystemctl restart docker.service

5. 命令小结

Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)
Docker之路(4.Docker命令大全、docker镜像命令、docker容器命令以及docker常用命令)