Docker 常用命令

在这里插入图片描述

帮助启动类命令

Docker 的帮助启动类命令主要涉及 Docker 服务的启动、停止、重启、查看状态以及设置开机自启动等操作。

启动 Docker

  • 命令systemctl start docker
  • 说明:该命令用于启动 Docker 服务。在大多数 Linux 发行版中,Docker 服务是通过 systemd 管理的,因此使用 systemctl 命令来启动服务。

停止 Docker

  • 命令systemctl stop docker
  • 说明:该命令用于停止正在运行的 Docker 服务。同样,通过 systemctl 命令来管理服务的停止。

重启 Docker

  • 命令systemctl restart docker
  • 说明:当需要重启 Docker 服务时,可以使用该命令。这通常用于在修改 Docker 配置或更新 Docker 版本后,确保服务以最新的配置或版本运行。

查看 Docker 状态

  • 命令systemctl status docker
  • 说明:该命令用于查看 Docker 服务的当前状态,包括是否正在运行、启动时间、进程ID等信息。这对于诊断 Docker 服务问题非常有用。

设置 Docker 开机自启动

  • 命令systemctl enable docker
  • 说明:该命令用于设置 Docker 服务在系统启动时自动启动。这对于确保 Docker 服务在系统重启后能够自动恢复运行非常重要。

查看 Docker 概要信息

  • 命令docker info
  • 说明:虽然这个命令不属于直接的启动类命令,但它提供了 Docker 系统的概要信息,包括容器数量、镜像数量、存储驱动、执行驱动等,对于了解 Docker 系统的整体状态非常有用。

查看 Docker 总体帮助文档

  • 命令docker --help
  • 说明:该命令显示 Docker 的总体帮助文档,列出了所有可用的 Docker 命令及其简短描述。这是了解 Docker 命令结构和可用选项的好方法。

查看 Docker 命令帮助文档

  • 命令docker 具体命令 --help
  • 说明:对于任何特定的 Docker 命令,都可以通过在该命令后添加 --help 选项来查看其详细的帮助文档。这包括命令的语法、选项、示例等,对于深入了解和使用 Docker 命令非常有帮助。

综上所述,Docker 的帮助启动类命令主要涉及服务的启动、停止、重启、查看状态以及设置开机自启动等操作,同时提供了查看 Docker 系统概要信息和帮助文档的命令。这些命令是 Docker 用户日常管理和维护 Docker 服务的基本工具。

镜像命令

Docker 的常用镜像命令涵盖了镜像的搜索、拉取(下载)、查看、删除、导出、导入等多个方面。

列出本地所有镜像

在Docker中,docker images命令用于列出本地所有的镜像。这个命令是Docker用户日常操作中最常用的命令之一,它可以帮助用户快速查看和管理本地的镜像资源。

基本用法

  • 命令格式docker images [OPTIONS] [REPOSITORY[:TAG]]

  • 常用选项

    • -a--all:列出本地所有的镜像(包括中间映像层,默认情况下,会过滤掉中间映像层)。
    • --digests:显示镜像的摘要信息。
    • -f--filter:显示满足条件的镜像。
    • --format:指定返回值的模板文件,用于自定义输出的格式。
    • --no-trunc:显示完整的镜像信息,避免截断。
    • -q--quiet:只显示镜像的ID。

输出信息

执行docker images命令后,通常会列出以下信息:

  • REPOSITORY:镜像仓库名称,从Docker Hub下载的镜像名称或用户自定义编译出的镜像名称。
  • TAG:镜像标签,镜像版本标签,未定义时默认显示latest,代表最新版本。
  • IMAGE ID:镜像ID,Docker系统分配的ID,通常显示的是截断的ID,实际ID更长。
  • CREATED:创建时间,一般显示镜像创建时离当下经过的时间。
  • SIZE:镜像大小,硬盘中占用空间的大小。

对于使用v2或更高版本格式的镜像,还会有一个DIGEST列,以sha256:开头,这是镜像的摘要信息。摘要信息是一个内容可寻址标识符,只要生成镜像的输入保持不变,摘要值就是可预测的。

示例

假设执行docker images命令,输出可能如下(示例内容,实际输出会根据本地镜像情况有所不同):

REPOSITORY          TAG       IMAGE ID       CREATED         SIZE
ubuntu              latest    1d622ef86b13   2 weeks ago     64.2MB
nginx               latest    f09fe80ddb0f   3 weeks ago     133MB
hello-world         latest    fce289e99eb9   4 months ago    1.84kB

这个列表显示了本地存储的三个镜像:ubuntunginxhello-world,包括它们的标签、镜像ID、创建时间和大小。

注意事项

  • 如果想要删除某个镜像,可以使用docker rmi命令,并指定镜像的ID或名称及标签。
  • 镜像的存储和管理对于Docker容器的运行至关重要,合理的镜像管理可以提高系统的整体性能和稳定性。

综上所述,docker images命令是Docker中用于列出本地镜像的基本且重要的命令,通过它用户可以方便地查看和管理本地镜像资源。

搜索镜像

  • 命令docker search [OPTIONS] TERM
  • 说明:此命令用于在Docker Hub或其他配置的镜像仓库中搜索镜像。TERM是你想要搜索的镜像名称或相关关键词。
  • 示例docker search nginx,将搜索所有与nginx相关的镜像。

拉取(下载)镜像

  • 命令docker pull [OPTIONS] NAME[:TAG|@DIGEST]
  • 说明:此命令用于从配置的镜像仓库中下载镜像。NAME是镜像的名称,TAG是镜像的标签(默认为latest,表示最新版本),DIGEST是镜像的摘要信息。
  • 示例docker pull nginx:latest,将下载最新版本的nginx镜像。

查看镜像

  • 命令docker images [OPTIONS] [REPOSITORY[:TAG]]
  • 说明:此命令用于列出本地主机上的所有镜像或满足特定条件的镜像。如果不指定任何参数,将列出所有镜像。
  • 示例docker images,列出所有本地镜像。

删除镜像

  • 命令docker rmi [OPTIONS] IMAGE [IMAGE...]
  • 说明:此命令用于删除一个或多个镜像。IMAGE可以是镜像的名称、标签或ID。如果镜像被容器使用,则无法直接删除,需要先删除或停止使用该镜像的容器。
  • 示例docker rmi nginx:latest,将删除最新版本的nginx镜像。

导出镜像

  • 命令docker save [OPTIONS] IMAGE [IMAGE...] > FILE.tar
  • 说明:此命令用于将一个或多个镜像保存为一个tar归档文件。这可以用于备份或在不同主机之间传输镜像。
  • 示例docker save -o nginx.tar nginx:latest,将最新版本的nginx镜像保存为nginx.tar文件。

导入镜像

  • 命令docker load [OPTIONS] < FILE.tardocker load [OPTIONS] --input FILE.tar
  • 说明:此命令用于从tar归档文件中加载镜像。这可以用于恢复备份的镜像或在不同主机之间导入镜像。
  • 示例docker load -i nginx.tardocker load < nginx.tar,将从nginx.tar文件中加载镜像。

其他常用镜像命令

  • 查看镜像详细信息docker inspect [OPTIONS] NAME|ID [NAME|ID...],用于获取镜像的详细信息,如创建时间、大小、配置等。
  • 给镜像打标签docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG],用于给镜像添加新的标签,便于管理和引用。

以上命令是Docker镜像管理的常用命令,通过它们可以方便地进行镜像的搜索、下载、查看、删除、导出和导入等操作。

Docker 虚悬镜像

Docker虚悬镜像(dangling image)是指在Docker环境中存在的一种特殊镜像,它们已经被创建,但当前没有被任何容器所引用,同时也没有被赋予明确的仓库名和标签。这种镜像通常是在构建或删除镜像的过程中,由于某些原因(如构建取消、构建失败或删除操作未完全清理)而产生的。

虚悬镜像的成因

  1. 构建过程中的错误:在构建镜像时,如果某个步骤出错或构建被取消,可能会留下未被正确标记或引用的镜像层。
  2. 未标记的镜像:创建镜像后,如果没有为其指定仓库名和标签,它也会成为虚悬镜像。
  3. 删除操作不完全:在删除容器或镜像时,如果操作不当或Docker环境出现问题,可能导致部分镜像未被完全清理。

虚悬镜像的特点

  1. 无标签和仓库名:虚悬镜像在Docker镜像列表中通常显示为<none>的仓库名和<none>的标签。
  2. 不被引用:这些镜像当前没有被任何容器所使用或引用。
  3. 不会自动清理:Docker的自动清理机制通常不会删除虚悬镜像,需要手动进行清理。

查看虚悬镜像

要查看Docker中的虚悬镜像,可以使用以下命令:

docker images -f "dangling=true"

或者,你也可以使用-a--all参数来查看所有镜像(包括虚悬镜像),但这样可能会列出更多的信息,需要手动筛选:

docker images -a

在输出中,你可以找到仓库名和标签都是<none>的镜像,它们就是虚悬镜像。

清理虚悬镜像

清理虚悬镜像以释放磁盘空间是一个好习惯。你可以使用以下命令来删除所有虚悬镜像:

docker image prune

执行该命令后,Docker会列出所有将被删除的虚悬镜像,并询问你是否确认删除。如果你确认要删除,输入y并按回车键即可。

另外,如果你知道某个特定虚悬镜像的ID,也可以直接使用docker rmi命令来删除它,但需要注意的是,这样做需要小心谨慎,以免误删其他重要镜像。

总结

Docker虚悬镜像是Docker环境中一种特殊的镜像状态,它们没有被任何容器所引用且没有明确的仓库名和标签。定期清理虚悬镜像是一种良好的Docker环境维护习惯,可以帮助释放磁盘空间并减少环境复杂性。通过docker images -f "dangling=true"命令可以查看虚悬镜像,而docker image prune命令则用于删除所有虚悬镜像。

容器命令

Docker 的常用容器命令涵盖了容器的创建、启动、停止、删除、查看、日志管理等多个方面。以下是一些常用的 Docker 容器命令及其说明:

创建并启动容器

  • docker run:这是最常用的命令之一,用于新建并启动容器。
    • 语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    • 常用选项:
      • --name="容器名":为容器指定一个名称。
      • -d:后台运行容器,并返回容器ID。
      • -i:以交互模式运行容器,通常与 -t 同时使用。
      • -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用。
      • -P:随机端口映射,将容器内部使用的网络端口映射到主机上。
      • -p:指定端口映射,格式为 ip:hostPort:containerPorthostPort:containerPort
      • -v:挂载宿主机的目录到容器的指定目录。

查看容器

  • docker ps:列出当前所有正在运行的容器。
    • 常用选项:
      • -a:显示所有容器(包括未运行的)。
      • -l:显示最近创建的容器。
      • -n:显示最近创建的n个容器。
      • -q:静默模式,只显示容器ID。

停止和启动容器

  • docker stop:停止正在运行的容器。
    • 语法:docker stop 容器ID或容器名
  • docker start:启动已经停止的容器。
    • 语法:docker start 容器ID或容器名
  • docker restart:重启容器。
    • 语法:docker restart 容器ID或容器名

删除容器

  • docker rm:删除已经停止的容器。
    • 语法:docker rm 容器ID或容器名
    • 强制删除(包括正在运行的容器):docker rm -f 容器ID或容器名
    • 删除所有容器(包括正在运行的容器):docker rm -f $(docker ps -aq)

进入容器

  • docker exec:在运行的容器中执行命令。
    • 语法:docker exec -it 容器ID或容器名 /bin/bash(或 /bin/sh,取决于容器内的shell)
    • 这个命令会打开一个新的终端,允许用户与容器进行交互,而不会停止容器。
  • docker attach:连接到正在运行的容器。
    • 语法:docker attach 容器ID或容器名
    • 注意:使用 docker attach 退出容器时(如使用 exit 命令),容器也会停止。因此,更推荐使用 docker exec

查看容器日志

  • docker logs:查看容器的输出日志。
    • 语法:docker logs 容器ID或容器名
    • 跟随查看(实时输出日志):docker logs -f 容器ID或容器名

其他常用命令

  • docker rename:重命名容器。

    • 语法:docker rename 旧容器名 新容器名
  • docker inspect:查看容器的详细信息。

    • 语法:docker inspect 容器ID或容器名
  • docker cp:在容器和宿主机之间复制文件。

    • 语法:docker cp 宿主机路径 容器ID或容器名:容器内路径docker cp 容器ID或容器名:容器内路径 宿主机路径

这些命令是 Docker 容器管理的基础,通过它们可以方便地对容器进行创建、管理、维护和调试。

  • 28
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jasonakeke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值