将命名更改为docker.io,原因和预防措施是什么?

70

更改名称为docker.io/library/imageName

当我从dockerfile构建镜像时,在控制台中的构建日志中看到这个语句,作为最后一个打印在控制台中的构建日志语句。

这是什么意思?是否表示镜像的副本已经被推送到docker.io

如果是这样的话,有没有办法防止这种情况发生?即使我运行docker logout,它似乎仍然会继续发生。

如果有关系的话,我当前正在使用带有WSL2集成的Windows上的全新安装的Docker,并在Ubuntu Linux内运行docker build命令。


你能在输出中关于这条信息加入更多上下文吗?(前面的行,后面的行,你使用的构建命令) - zigarn
1个回答

51

docker.io/library 是默认的注册表,当您没有指定注册表URL时应用。

当您在build命令中指定-t时,斜杠前的文本被视为注册表URL。

以下是构建图像的示例,一个没有特定注册表,另一个有:

# no registry specified
➜  docker build . -t my-image
[+] Building 0.5s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                                   0.0s
 => => transferring dockerfile: 86B                                                                                                                                                                                                                                                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                                                                                      0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                                                                        0.0s
 => [internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                                                                                                                                                                                        0.0s
 => CACHED [1/2] FROM docker.io/library/ubuntu:20.04                                                                                                                                                                                                                                                                                                                   0.0s
 => [2/2] RUN cat /etc/lsb-release                                                                                                                                                                                                                                                                                                                                     0.4s
 => exporting to image                                                                                                                                                                                                                                                                                                                                                 0.0s
 => => exporting layers                                                                                                                                                                                                                                                                                                                                                0.0s
 => => writing image sha256:4a97ceefb5314bdf91886a28142c9b0b33c992c94b1847d5ae1b38723b2279e3                                                                                                                                                                                                                                                                           0.0s
 => => naming to docker.io/library/my-image                                                                                                                                                                                                                                                                                                                0.0s

# registry set to "my.docker.registry"
➜ docker build . -t my.docker.registry/my-image
[+] Building 0.1s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                                                                                                                                                                                                                                                                                   0.0s
 => => transferring dockerfile: 36B                                                                                                                                                                                                                                                                                                                                    0.0s
 => [internal] load .dockerignore                                                                                                                                                                                                                                                                                                                                      0.0s
 => => transferring context: 2B                                                                                                                                                                                                                                                                                                                                        0.0s
 => [internal] load metadata for docker.io/library/ubuntu:20.04                                                                                                                                                                                                                                                                                                        0.0s
 => [1/2] FROM docker.io/library/ubuntu:20.04                                                                                                                                                                                                                                                                                                                          0.0s
 => CACHED [2/2] RUN cat /etc/lsb-release                                                                                                                                                                                                                                                                                                                              0.0s
 => exporting to image                                                                                                                                                                                                                                                                                                                                                 0.0s
 => => exporting layers                                                                                                                                                                                                                                                                                                                                                0.0s
 => => writing image sha256:4a97ceefb5314bdf91886a28142c9b0b33c992c94b1847d5ae1b38723b2279e3                                                                                                                                                                                                                                                                           0.0s
 => => naming to my.docker.registry/my-image

图片标签指定了在执行docker image push <image name>命令时,图片将被上传到哪里。

第一种情况下,如果你运行docker image push my-image,它会被上传到docker.io/library。

第二种情况下,如果你运行docker image push my.docker.registry/my-image,它会被上传到URL为my.docker.registry的注册表中(假设该注册表存在)。


18
如果我不进行推送,那么实际上没有任何内容被提交到注册表中,它只是向我发出通知消息,告诉我如果我进行推送,它将会被提交到注册表中。@swysocki - Robert Christ
39
正确。除非您运行“docker image push”,否则它只是本地存储。<tag>"</tag> - swysocki
你能实际上推送到不同的注册表来覆盖默认值吗? - undefined
1
@mike01010 为了做到这一点,你需要使用docker tag <current_image_name> <new_image_name>来重命名图像标签,例如:docker tag docker.io/library/my-image my.docker.registry/my-image - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接