Docker 镜像标签及其使用方法
Docker 镜像标签是在构建镜像之前或之后赋予 Docker 镜像的简单标签或别名,用于描述该特定镜像。它可以是项目的版本或容器的版本、镜像的功能、镜像中使用的技术,或者任何你想要的东西。它在整个软件开发生命周期中起着关键作用,因为它可以帮助你跟踪项目的不同部分,以及帮助你进行产品的版本管理。
在拉取镜像时,你可以指定所需的镜像标签,如果没有指定,它将自动拉取最新标记的镜像。让我们看看在使用 Docker 镜像时,标记出现在两个最常见场景中的方式。
当你尝试使用 docker build 命令构建镜像时,你可以将标签与镜像名称一起指定,以便使用该特定标签构建镜像。你可以使用 -t 标记来实现这一点。请查看下面的命令,了解如何在构建镜像时标记镜像。
sudo docker build −t <username>/<image−name>:<tag−name>.
上述命令的作用是,它在 Docker build 上下文中搜索 Dockerfile(你已使用点将其设置为当前目录),使用该 Dockerfile 构建镜像并指定你指定的标签。但是,如果你使用上述命令,指定标签名称不是强制性的。你也可以在不指定标签的情况下构建镜像。
你还可以使用 tag 命令标记已存在的镜像。你可以使用以下命令来实现。
sudo docker tag <image−id> <image−name>/<tag−name>
上面提到的命令允许你使用镜像 ID 标记镜像。你可以使用 docker images 命令找到特定镜像的镜像 ID。
如果你在拉取镜像时没有指定任何标签,它将自动拉取镜像的最新版本。请参见下面的示例。
在 Dockerfile 中,如果你使用 -
FROM python
它将自动嵌入最新标签(python:latest)并从 Docker 仓库拉取最新的 Python 镜像。
但是,如果你写 -
FROM python:3
它将从 Docker 仓库拉取 Python 3。
请注意,如果你想拉取与某个镜像关联的所有标记版本,则可以在 docker pull 命令中使用 -a 标记
sudo docker pull ubuntu −a
这将拉取名为 ubuntu 的镜像的所有可用标记版本。
总之,当你同时处理多个镜像时,标记镜像非常有用。它让你更好地控制和管理项目的版本。它让你能够跟踪你在项目中做出的重大更改。在构建镜像时对其进行标记始终是一个更好的实践。
最后要讨论的一件事是关于名为 latest 的标签。当你没有为镜像指定标签时,Docker 默认会将 latest 标签放到你的镜像上,以便当你尝试拉回镜像时,它默认会为你提供具有最新标签的镜像。