Im trying to use buildctl tool with Artifactory registry running on my localhost.
I'm using the following command.
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
I added the flag "registry.insecure=true" as stated in the documentation. but, still getting the following error:
> 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
Seems like it's trying to reach the local repo with HTTPS.
How can I make it work with HTTP?
Using version: buildctl github.com/moby/buildkit 0.11.1
CodePudding user response:
The buildkit daemon needs to be run with a configuration file that specifies the registry is http instead of https. See the documentation on buildkitd.toml:
[registry."192.168.0.110:8082"]
http = true
The file path is
/etc/buildkit/buildkitd.toml
for rootful mode,~/.config/buildkit/buildkitd.toml
for rootless mode.