“命名为docker.io”,解释和预防?

Rob*_*ist 16 docker docker-for-windows docker-desktop

命名为 docker.io/library/imageName

当我从dockerfile构建图像时,我看到此语句出现在docker构建日志中,作为在控制台中打印的构建日志的最后一条语句。

这是什么意思?这是否意味着图像的副本已被推送到docker.io

如果是这样,有什么办法可以防止这种情况发生吗?即使我运行 docker logout,它似乎还会继续发生。

如果重要的话,我目前正在使用全新安装的 docker for windows 与 wsl2 集成,并且正在 ubuntu linux 中运行 docker build 命令。

swy*_*cki 13

docker.io/library 是未指定注册表 URL 时应用的默认注册表。

当您-tbuild命令中指定时, 之前的文本/被视为注册表 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
Run Code Online (Sandbox Code Playgroud)

图像标签指定如果您执行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(假设它存在)

  • 所以假设我不推送,实际上没有任何内容进入注册表?它只是给我一条通知消息,如果我推送,它会转到注册表吗?@swysocki (19认同)
  • 正确的。它只是存储在本地,除非您运行“docker image push &lt;tag&gt;” (8认同)