// Linux · 2025-02-25

你不知道的 Docker 小知识:标签命名规范、ID 管理与常用操作技巧

1. Docker 镜像的 Tag 命名规范

在 Docker 中,tag(标签)是用来标识镜像版本的。镜像的标签由镜像名称和一个冒号后的标签组成,通常以 <镜像名称>:<标签> 的格式出现。标签帮助我们区分不同版本的镜像。例如,ubuntu:20.04 中,ubuntu 是镜像的名称,20.04 是标签。

命名规范

  1. 镜像名称(Repository Name):

    • 字母、数字、点(.)、下划线(_)、短横线(-):这些字符都是合法的,可以用于镜像名称。
    • 小写字母:通常 Docker 镜像的名称都使用小写字母。
    • 不能以数字开头:镜像名称不能以数字开头。
    • 不能使用大写字母:镜像名称通常不允许使用大写字母(尽管有些容器工具可能容忍)。
  2. 标签(Tag):

    • 标签通常用来表示版本、变更或配置。例如 latest、v1.0、2023-10-01 等。
    • latest 是默认标签,但它不是固定的版本,实际上只是 Docker 默认使用的标签。
    • 标签可以是数字、字母、连字符等字符的组合,但不能包含空格或大写字母。

示例

 拉取指定标签的镜像
docker pull ubuntu:20.04

 使用 latest 标签
docker pull node:latest

注意事项:

  • 标签的规范:Docker 中有一些约定俗成的规则,例如 latest 标签经常用来指代最新版本的镜像。但实际上 latest 不一定是镜像的最新版本,它仅仅是一个标签,代表默认的镜像版本。

2. 通过 ID 前几位指定镜像或容器

在 Docker 中,每个镜像和容器都有一个 唯一的 ID,这个 ID 通常是一个长字符串,由 64 个字符组成。为了便于操作,Docker 允许我们使用 ID 的前几位 来指定特定的镜像或容器。

ID 缩短规则

Docker 允许通过提供镜像或容器 ID 的前几位来唯一标识它们。默认情况下,Docker 使用 前 12 位 的镜像或容器 ID 来进行匹配。如果前 12 位足够唯一,Docker 会识别出具体的镜像或容器。

  • 镜像 ID:你可以使用镜像 ID 的前几位来引用镜像。例如,如果 ubuntu 镜像的 ID 是 d4c3d61c4c5c,你可以只用 d4c3d61 来指定该镜像。

  • 容器 ID:同样,容器 ID 也可以用其前几位来指定容器。通常,Docker 在输出时会显示容器 ID 的前 12 个字符。

示例

假设我们有一个镜像 ubuntu,其 ID 是 d4c3d61c4c5c,你可以通过以下方式引用镜像:

docker run -it d4c3d61 ubuntu /bin/bash

或者使用更短的 ID(例如前 6 位):

docker run -it d4c3d6 ubuntu /bin/bash

如果前 6 位足够唯一,Docker 会正确解析出该镜像或容器。

3. 常见的 Docker ID 相关小知识

  • 容器和镜像 ID 的区别:

    • 镜像 ID:是镜像在 Docker 仓库中的唯一标识符,通常是一个 64 位的字符串。
    • 容器 ID:是容器在 Docker 系统中唯一的标识符,每个容器都会分配一个唯一的 ID。当容器启动时,会生成一个容器 ID。
  • 通过 ID 查找容器或镜像:

    • 使用 docker ps -a 命令列出所有容器及其 ID。
    • 使用 docker images 命令列出所有镜像及其 ID。

    示例:

    # 查看所有容器及其 ID
    docker ps -a
    
    # 查看所有镜像及其 ID
    docker images
  • ID 与名称的使用:

    • 容器 ID 或名称:你可以使用容器的 ID 或容器的名称来管理容器。例如,docker stop 命令可以通过容器 ID 或名称停止容器。

      docker stop mynginx
      docker stop d4c3d61
  • 镜像的 ID 获取:

    • 使用 docker images 命令时,Docker 会列出所有镜像及其完整 ID,你可以根据 ID 来执行操作。

    示例:

    # 列出所有镜像及其 ID
    docker images
  • 短 ID 的唯一性:

    • Docker 会根据镜像或容器 ID 的前几位来匹配。如果你指定的前几位足够唯一,Docker 就会识别出具体的镜像或容器。如果有多个镜像或容器 ID 以相同的前几位开始,Docker 会报错,提示不唯一。

4. 一些常见的操作技巧

通过镜像 ID 删除镜像:

如果你想删除一个镜像,可以使用其镜像 ID,当然你也可以使用镜像的名称和标签。

docker rmi d4c3d61

通过容器 ID 删除容器:

同样,删除容器时,你也可以通过容器 ID 来指定:

docker rm d4c3d61c4c5c

总结

  1. Docker 标签命名规范:镜像名称应尽量使用小写字母、数字、点、下划线和短横线。标签通常用于区分不同版本的镜像,例如 latest 或版本号 v1.0。

  2. ID 缩写使用:通过镜像或容器的 ID 的前几位,可以唯一标识特定的容器或镜像,通常可以使用前 6 到 12 位来精确定位。

  3. 容器和镜像管理:利用镜像和容器的 ID 进行管理时,可以通过命令轻松进行删除、启动、停止等操作,提高效率。

这些技巧有助于提升操作 Docker 的灵活性,帮助你在日常工作中更加高效地管理容器和镜像。

原文 https://blog.csdn.net/2301_79518550/article/details/145801114