创建多个标签码头镜像

如何将多个标签附加到一个Docker映像上?是否可以使用一个Dockerfile创建多个标签?

这是可能的,在某种程度上;例如,docker pull ubuntu将得到几张图片,其中一些有多个标签:

ubuntu                  13.10               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  saucy               9f676bd305a4        2 weeks ago         182.1 MB
ubuntu                  raring              eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  13.04               eb601b8965b8        2 weeks ago         170.2 MB
ubuntu                  12.10               5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  quantal             5ac751e8d623        2 weeks ago         161.4 MB
ubuntu                  10.04               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  lucid               9cc9ea5ea540        2 weeks ago         183 MB
ubuntu                  12.04               9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  latest              9cd978db300e        2 weeks ago         204.7 MB
ubuntu                  precise             9cd978db300e        2 weeks ago         204.7 MB
178582 次浏览

你不能用Dockerfiles创建标签,但是你可以通过命令行在你的图像上创建多个标签。

用这个列出你的图片id:

$ docker images

然后标记:

$ docker tag 9f676bd305a4 ubuntu:13.10
$ docker tag 9f676bd305a4 ubuntu:saucy
$ docker tag eb601b8965b8 ubuntu:raring
...

怎么不去做呢!:

在构建映像时,您也可以这样标记它。

docker build -t ubuntu:14.04 .

然后你用另一个标签再次构建它:

docker build -t ubuntu:latest .

如果你的Dockerfile很好地利用了缓存,相同的图像应该出来,它有效地做同样的重标记相同的图像。如果你执行docker images,你会看到它们有相同的ID。

可能有一个情况下,这是错误的… 但是就像@david-braun说的,你不能用Dockerfiles本身创建标签,只能用docker命令

自1.10发布以来,你现在可以在build中同时添加多个标签:

docker build -t name1:tag1 -t name1:tag2 -t name2 .

来源:增加能力添加多个标签与docker构建

Docker官方文档:https://docs.docker.com/engine/reference/commandline/build/#tag-an-image--t

标签必须是repo范围:

我尝试了接受的答案,但我的标签被忽略了,只是“最新”;标签生产。

回顾日志,我看到了一个错误是呕吐在最后关于缺乏范围,所以意识到我需要在名称:标签前添加我的用户名:

表格应该是:

-t <dockerhub uname>/name1:tag1 -t <dockerhub uname>/name1:tag2 etc...

buildx命令推送到Docker Hub,我们将标记如下:

docker buildx build --no-cache --platform linux/arm64 --push -t f1linux/postfix:3.7.2-r0 . -t f1linux/postfix:aarch64 -t f1linux/postfix:arm64