如何使用buildctl与localhost注册表与tls



我试图使用buildctl工具,在我的本地主机上运行人工注册表。

我正在使用以下命令:

buildctl build 
--frontend=dockerfile.v0 
--local context=. 
--local dockerfile=. 
--output type=image,name=192.168.0.110:8082/docker-local/test,push=true,registry.insecure=true 
--export-cache type=registry,ref=192.168.0.110:8082/docker-local/test,mode=max,push=true,registry.insecure=true 
--import-cache type=registry,ref=192.168.0.110:8082/docker-local/test,registry.insecure=true 

我添加了标志"registry.insecure=true"如文档中所述。但是,仍然得到以下错误:

> exporting content cache:
------
error: failed to solve: error writing layer blob: failed to do request: Head "https://192.168.0.110:8082/v2/docker-local/test/blobs/sha256:03d1cdba14f373b9dbca6b5fe65f8eca1e9852aaaf9060450b27f924a56a1b3c": remote error: tls: unrecognized name

似乎它试图通过HTTPS到达本地回购。

我如何使它与HTTP工作?

使用版本:buildctl github.com/moby/buildkit 0.11.1

buildkit守护进程需要使用一个配置文件来运行,该文件指定注册表为http而不是https。参见buildkit .toml:

上的文档
[registry."192.168.0.110:8082"]
http = true

有根模式为/etc/buildkit/buildkitd.toml,无根模式为~/.config/buildkit/buildkitd.toml

最新更新