"naming to docker.io",解释和预防?
"naming to docker.io", explanation and prevention?
命名为docker.io/library/imageName
当我从 docker 文件 构建映像时,我看到这条语句出现在 docker 构建日志中,作为在控制台中打印的构建日志。
这是什么意思?这是否意味着图像的副本已被推送到 docker.io?
如果是这样,有什么办法可以避免吗?即使我 运行 docker 注销,它似乎仍在继续发生。
如果重要的话,我目前正在为 windows 使用全新安装的 docker 和 wsl2 集成,并且 运行 在 docker 构建命令中 ubuntu linux.
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
的注册表(假设它存在)
命名为docker.io/library/imageName
当我从 docker 文件 构建映像时,我看到这条语句出现在 docker 构建日志中,作为在控制台中打印的构建日志。
这是什么意思?这是否意味着图像的副本已被推送到 docker.io?
如果是这样,有什么办法可以避免吗?即使我 运行 docker 注销,它似乎仍在继续发生。
如果重要的话,我目前正在为 windows 使用全新安装的 docker 和 wsl2 集成,并且 运行 在 docker 构建命令中 ubuntu linux.
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
的注册表(假设它存在)