Dockerfile FROM Insecure Registry



是否有一种方法可以从Dockerfile中构建docker映像,该Dockerfile使用来自Gitlab托管的本地不安全注册表的基本映像。例如,如果我的Dockerfile是:

FROM insecure.registry.local:/mygroup/myproject/image:latest

当我运行docker build .时,我得到以下错误:

failed to solve with frontend dockerfile.v0: failed to create LLB definition:.... http: server gave HTTP response to HTTPS client

当我一直在与我们的注册表交互并收到类似类型的http/https错误时,我会修改docker守护进程配置文件,包括:

...
"insecure-registries" : ["insecure.registry.local"]
...

,当执行一个特定的docker命令触发它时,一切都会工作。我可以成功运行docker login insecure.registry.local。是否有一种方法可以在Dockerfile本身,通过docker build命令或其他替代方案,让它在FROM语句中成功地从不安全的注册表中提取图像?

根据您的版本,您可能需要在不安全的注册表定义中包含该方案。较新版本的buildkit不应该有这个问题,所以升级也可能有帮助。

...
"insecure-registries" : [
"insecure.registry.local",
"http://insecure.registry.local"
]
...

遗憾的是,没有太多关于实际错误的信息。

所以这里有一些事情可以解决你所描述的问题:

  • 确保你的文件被称为Dockerfile(只有D应该是大写的)
  • 在更改后重新加载并重启docker守护进程(sudo systemctl daemon-reload && sudo systemctl restart docker)
  • 不要使用docker buildkit (export DOCKER_BUILDKIT=0 && export COMPOSE_DOCKER_CLI_BUILD=0 && docker build .)

相关内容

  • 没有找到相关文章

最新更新