Docker入门到实践 (二) docker常用命令讲解

骑猪看日落 2023-05-30 06:00 90阅读 0赞

文章目录

    • 一、前言
    • 二、Docker常用命令讲解
      • 1、docker相关命令
        • 1.1、docker启动与停止
        • 1.2、查看docker状态
        • 1.3、查看docker版本信息
        • 1.4、查看docker概要信息
        • 1.5、查看docker帮助文档
      • 2、镜像相关命令
        • 2.1、查看本地主机上的镜像
        • 2.2、查看docker images镜像命令的帮助文档
        • 2.3、查找docker镜像
        • 2.4、查看docker search镜像命令的帮助文档
        • 2.5、拉取docker镜像
        • 2.5、删除docker镜像
        • 2.6、获取docker镜像元信息
      • 3、容器相关命令
        • 3.1、查看docker run容器命令的帮助文档
        • 3.2、创建并运行容器
        • 3.3、查看docker ps容器命令的帮助文档
        • 3.4、列出当前所有正在运行的容器
        • 3.5、容器启动与停止
        • 3.6、删除容器
        • 3.7、查看容器内部运行的进程
        • 3.8、查看容器内部元信息
        • 3.9、进入正在运行的容器内并以命令行交互
        • 3.10、退出容器
        • 3.11、文件拷贝
        • 3.12、查看docker logs容器命令的帮助文档
        • 3.13、查看容器日志

一、前言

  在上一篇文章中已经介绍了docker相关的概念以及docker的安装, 下面正式进入的docker常用命令的讲解。docker 分为客户端和服务端两部分,docker 为客户端调用的命令, 本文着重介绍客户端的用法。

二、Docker常用命令讲解

1、docker相关命令

1.1、docker启动与停止

  1. //启动docker
  2. systemctl start docker
  3. //停止docker
  4. systemctl stop docker
  5. //重启docker
  6. systemctl restart docker
  7. //设置docker开机自启
  8. systemctl enable docker

1.2、查看docker状态

  1. systemctl status docker

1.3、查看docker版本信息

  1. docker version

1.4、查看docker概要信息

  1. docker info

1.5、查看docker帮助文档

  1. docker --help

2、镜像相关命令

2.1、查看本地主机上的镜像

  1. docker images

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70
REPOSITORY:镜像的仓库源,即镜像名称

TAG:镜像版本标签,即版本号

  • 同一镜像仓库源可以有多个 TAG,代表这个镜像仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
  • 如果不指定一个镜像的版本标签,docker 将默认使用最新版,即latest版本,例如你使用 docker pull tomcat,docker 将默认拉取 tomcat最新版镜像,即docker pull tomcat:latest。

IMAGE ID:镜像ID

CREATED:镜像的创建日期(不是获取该镜像的日期)

SIZE:镜像大小

2.2、查看docker images镜像命令的帮助文档

  1. docker images --help

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 1
docker images相关命令的主要用法为: docker images [OPTIONS] [REPOSITORY[:TAG]],即 docker images [docker镜像命令选项] [镜像名称[:版本号]],中括号[]表示该命令选项 可选可不选

常用的docker images镜像命令选项有:

-a :列出本地所有的镜像 (包含中间镜像层)

-q:只显示镜像ID

--digests:显示镜像的摘要信息

--no-trunc:显示完整的镜像信息

docker images常用命令:

  1. //查看所有镜像,默认会带上-a命令选项
  2. docker images 等价于 docker images -a
  3. //查看镜像ID
  4. docker images -q
  5. //查看所有镜像ID
  6. docker images -aq

2.3、查找docker镜像

  1. docker search 镜像名称

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 2
NAME:仓库名称

DESCRIPTION:镜像描述

STARS:点赞数,反应一个镜像的受欢迎程度

OFFICIAL:是否为官方镜像

AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

2.4、查看docker search镜像命令的帮助文档

  1. docker search --help

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 3
docker search相关命令的主要用法为: docker search [OPTIONS] TERM,即 docker search [docker镜像命令选项] 镜像,中括号[]表示该命令选项 可选可不选

常用的docker search镜像命令选项有:

-f stars=数字 :列出点赞数不小于指定值的镜像

--limit 数字:列出指定数目的镜像,默认数目为25

docker search常用命令:

  1. //查询镜像
  2. docker search 镜像名称
  3. 例如:docker search tomcat //查询tomcat镜像
  4. //查询点赞数不小于指定值的镜像
  5. docker search -f stars=n 镜像名称
  6. 例如:docker search -f stars=5 tomcat //查询点赞数大于等于5的tomcat镜像
  7. //查询点赞数排名前n的镜像
  8. docker search --limit n 镜像名称
  9. 例如:docker search --limit 5 tomcat //查询点赞数排名前5的tomcat镜像

2.5、拉取docker镜像

  1. docker pull 镜像名称[:版本号]

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 4

2.5、删除docker镜像

  1. //删除单个镜像
  2. docker rmi 镜像ID/镜像名称[:版本号]
  3. //-f:表示强制删除,强制删除单个镜像
  4. docker rmi -f 镜像ID/镜像名称[:版本号]
  5. //删除多个镜像
  6. docker rmi [-f] 镜像1ID/镜像1名称[:版本号] 镜像2ID/镜像2名称[:版本号]
  7. //删除全部镜像
  8. docker rmi [-f] $(docker images -aq)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 5

2.6、获取docker镜像元信息

  1. docker inspect 镜像ID/镜像名称[:版本号]

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 6

3、容器相关命令

3.1、查看docker run容器命令的帮助文档

  1. docker run --help

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 7
docker run相关命令的主要用法为: docker run [OPTIONS] IMAGE [COMMAND] [ARG...],即 docker run [docker容器命令选项] 镜像 [命令] [参数],中括号[]表示该命令选项 可选可不选

常用的docker run容器命令选项有:

-i :表示以交互模式运行容器,通常与-t结合使用

-t:为容器重新分配一个伪输入终端,通常与-i结合使用

-d:后台运行容器,并返回容器ID,即启动守护式容器 (这样创建的容器不会分配一个伪输入终端,如果是以-it两个参数启动,启动后则会分配一个伪输入终端)

-p:指定端口映射,格式为:-p 主机(宿主机)端口:容器映射端口,可以使用多个-p做多个端口映射

-v:指定挂载主机目录/文件 到容器目录/文件 上,即挂载容器数据卷,格式为:-v 主机(宿主机)目录/文件的绝对路径:容器内目录/文件的绝对路径[:读取权限],可以使用多个-v做多个目录或文件映射,默认为rw读写模式ro表示只读

  rw读写模式:表示宿主机能对数据卷进行读取和更改,容器也能对其进行读取和更改。
  ro表示只读:表示宿主机能对数据卷进行读取和更改,容器只能对其进行读取不能更改。

--name:为创建的容器指定一个名称,格式为:--name=容器名称

3.2、创建并运行容器

  1. //以交互模式运行容器
  2. docker run -it -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name=容器名称 镜像ID/镜像名称[:版本号]
  3. //以后台方式运行容器 (推荐)
  4. docker run -d -v 宿主机目录/文件的绝对路径:容器内目录/文件的绝对路径[:rw/ro] -p 主机端口:容器端口 --name=容器名称 镜像ID/镜像名称[:版本号]

注意:这里启动容器时,没有挂载容器数据卷,一般建议挂载容器数据卷,实现数据持久化操作
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 8

在浏览器中,输入你的Linux系统的 ip地址:主机(宿主机)端口,即可访问
watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 9

3.3、查看docker ps容器命令的帮助文档

  1. docker ps --help

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 10
docker ps相关命令的主要用法为: docker ps [OPTIONS],即 docker ps [docker容器命令选项],中括号[]表示该命令选项 可选可不选

常用的docker ps容器命令选项有:

-a :列出当前所有正在运行的容器 和 之前运行过但已停止的容器

-l:显示最近创建的容器

-q:只显示容器编号

-n 数字:显示最近创建的 n个容器

-f status=exited:查看已停止的容器

docker ps常用命令:

  1. //查看当前运行的容器
  2. docker ps
  3. //查看所有容器 (运行和停止的)
  4. docker ps -a
  5. //查看最近创建的容器
  6. docker ps -l
  7. //查看最近创建指定个数的容器
  8. docker ps -n 数量
  9. //查看停止的容器
  10. docker ps -f status=exited
  11. //查看所有容器的ID
  12. docker ps -aq

3.4、列出当前所有正在运行的容器

  1. docker ps

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 11
CONTAINER ID:容器ID

IMAGE:镜像

COMMAND:命令

CREATED:创建时间

STATUS:启动时长

PORTS:端口映射

NAMES:容器名称

3.5、容器启动与停止

  1. //启动容器
  2. docker start 容器ID/容器名称
  3. //重启容器
  4. docker restart 容器ID/容器名称
  5. //停止容器
  6. docker stop 容器ID/容器名称
  7. //强制停止容器
  8. docker kill 容器ID/容器名称

3.6、删除容器

  1. //删除已停止的容器
  2. docker rm 容器ID/容器名称
  3. //-f:表示强制删除,删除正在运行的容器
  4. docker rm -f 容器ID/容器名称
  5. //删除全部的容器
  6. docker rm -f $(docker ps -qa)

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 12

3.7、查看容器内部运行的进程

  1. docker top 容器ID/容器名称

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 13

3.8、查看容器内部元信息

  1. docker inspect 容器ID/容器名称

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 14

3.9、进入正在运行的容器内并以命令行交互

  1. //以exec方式进入到容器
  2. docker exec -it 容器ID/容器名称 /bin/bash /bin/sh
  3. //以attach方式进入到容器
  4. docker attach 容器ID/容器名称
  5. //如果不想进入容器,直接获取相关指令的运行结果,可在后面填写相关操作指令
  6. docker exec -it 容器ID/容器名称 相关命令

exec 与 attach的区别:

  • exec:是在容器中打开新的终端,并且可以启动新的进程 (推荐)
  • attach:是直接进入容器启动命令的终端,不会启动新的进程

3.10、退出容器

上面说过,可以使用命令进入到正在运行的容器内,那么该如何退出容器呢?请使用以下命令:

  1. //退出并停止容器
  2. exit
  3. //退出但容器不停止
  4. ctrl + p + q

3.11、文件拷贝

  1. //从容器内拷贝文件到宿主机
  2. docker cp 容器ID/容器名称:容器内目录/文件的绝对路径 宿主机目录/文件的绝对路径
  3. //从宿主机中拷贝文件到容器内
  4. docker cp 宿主机目录/文件的绝对路径 容器ID/容器名称:容器内目录/文件的绝对路径

3.12、查看docker logs容器命令的帮助文档

  1. docker logs --help

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 15
docker logs相关命令的主要用法为: docker logs [OPTIONS]CONTAINER,即 docker ps [docker容器命令选项] 容器,中括号[]表示该命令选项 可选可不选

常用的docker logs容器命令选项有:

-f :显示最新的打印日志

-t:显示时间戳

--tail 数字:显示最后多少条日志

docker logs常用命令:

  1. //查看容器日志并显示时间戳
  2. docker logs -t 容器ID/容器名称
  3. //持续输出容器日志
  4. docker logs -f 容器ID/容器名称
  5. //查看最后n条容器日志
  6. docker logs --tail n 容器ID/容器名称

3.13、查看容器日志

  1. docker logs -f -t 容器ID/容器名称

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTM1Mjg3_size_16_color_FFFFFF_t_70 16

Docker入门到实践系列文章列表:

Docker入门到实践 (一) docker简介与安装
Docker入门到实践 (二) docker常用命令讲解
Docker入门到实践 (三) Dockerfile解析与镜像制作
Docker入门到实践 (四) docker容器数据卷与数据卷容器
Docker入门到实践 (五) docker数据的备份、恢复与迁移
Docker入门到实践 (六) docker网络模式详解以及容器间的网络通信
Docker入门到实践 (七) docker常用软件的安装
Docker入门到实践 (八) 本地镜像推送到阿里云 和 下载镜像到本地
Docker入门到实践 (九) docker可视化界面portainer的安装与使用
Docker入门到实践 (十) IDEA集成Docker构建容器镜像,部署项目
Docker入门到实践 (十一) docker私有仓库的搭建与配置
Docker入门到实践 (十二) docker compose简介与安装
Docker入门到实践 (十三) docker compose配置文件与常用命令讲解
Docker入门到实践 (十四) docker企业级容器镜像仓库HarBor的搭建与配置

发表评论

表情:
评论列表 (有 0 条评论,90人围观)

还没有评论,来说两句吧...

相关阅读