如何在执行 Docker 构建时禁用加载元数据?
How to disable loading metadata while executing Docker build?
Windows10,Docker桌面 v3.5.2,Dockerv20.10.7
每当我的计算机与 Internet 断开连接时
命令 docker build -t my_image .
产生如下输出。
Docker文件包含行 FROM some_public_image:123
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 187B 0.0s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> ERROR [internal] load metadata for docker.io/library/some_public_image:123 0.0s
------
> [internal] load metadata for docker.io/library/some_public_image:123:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition:
failed to do request: Head https://registry-1.docker.io/v2/library/some_public_image/manifests/123:
dial tcp: lookup registry-1.docker.io on 192.168.65.5:53: no such host
有时它会导致构建失败:不确定,但我猜是在 Docker 守护进程启动和 docker build
执行之间没有网络可用性的时候。
我想它会尝试将拉取的图像与 repo 版本同步(即检查图像完整性),但想控制此网络 activity 并关闭此“加载元数据”(说我'我确保所有拉取的图像都很好)即使连接稳定。
如何在执行docker build
命令时禁止加载元数据?
我也有这个问题,通过Google我发现其他人问这个问题没有好的解决方案。
我的解决方法:
- 当我的互联网连接仍然良好时,我
docker pull some_public_image:123
。
docker tag some_public_image:123 this_is_stupid_but_i_retagged_some_public_image
.
- 在我的 Dockerfile 中,我使用
FROM this_is_stupid_but_i_retagged_some_public_image
。
我不会将此 hack 合并到 main 中,但它让我在长途旅行中保持高效。
Windows10,Docker桌面 v3.5.2,Dockerv20.10.7
每当我的计算机与 Internet 断开连接时
命令 docker build -t my_image .
产生如下输出。
Docker文件包含行 FROM some_public_image:123
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 187B 0.0s
=> [internal] load .dockerignore 0.1s
=> => transferring context: 2B 0.0s
=> ERROR [internal] load metadata for docker.io/library/some_public_image:123 0.0s
------
> [internal] load metadata for docker.io/library/some_public_image:123:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition:
failed to do request: Head https://registry-1.docker.io/v2/library/some_public_image/manifests/123:
dial tcp: lookup registry-1.docker.io on 192.168.65.5:53: no such host
有时它会导致构建失败:不确定,但我猜是在 Docker 守护进程启动和 docker build
执行之间没有网络可用性的时候。
我想它会尝试将拉取的图像与 repo 版本同步(即检查图像完整性),但想控制此网络 activity 并关闭此“加载元数据”(说我'我确保所有拉取的图像都很好)即使连接稳定。
如何在执行docker build
命令时禁止加载元数据?
我也有这个问题,通过Google我发现其他人问这个问题没有好的解决方案。
我的解决方法:
- 当我的互联网连接仍然良好时,我
docker pull some_public_image:123
。 docker tag some_public_image:123 this_is_stupid_but_i_retagged_some_public_image
.- 在我的 Dockerfile 中,我使用
FROM this_is_stupid_but_i_retagged_some_public_image
。
我不会将此 hack 合并到 main 中,但它让我在长途旅行中保持高效。