cat Dockfile
FROM busybox:latest
cat ~/Downloads/MakeImages/buildxConfig/buildkitd.yaml
debug = true
[registry."registry.test.com"]
ca=["/etc/ssl/certs/ca-certificates.crt"]
docker buildx stop multiarch
docker buildx rm multiarch
docker buildx create --bootstrap --name multiarch --driver docker-container --use --config=/Users/dragon/Downloads/MakeImages/buildxConfig/buildkitd.yaml
docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
default * docker
default default running 20.10.20 linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
desktop-linux docker
desktop-linux desktop-linux running 20.10.20 linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
查看容器里的配置与证书路径
docker exec -ti buildx_buildkit_multiarch0 ls /etc/buildkit/
buildkitd.toml certs
docker exec -ti buildx_buildkit_multiarch0 cat /etc/buildkit/buildkitd.toml
debug = true[registry]
[registry."registry.test.com"]
ca = ["/etc/buildkit/certs/registry.test.com/ca-certificates.crt"]
主要就是为了验证证书有没有全局被认证。
mac 的话把cert放钥匙串,然后信任
参照以下格式进行构建
$ docker buildx build --platform linux/amd64,linux/arm64 -t $HARBOR_HOST/$HARBOR_PROJECT/$NMAE:dev-${CI_COMMIT_SHORT_SHA} -t docker.io/ghostwritten/$NMAE:dev-${CI_COMMIT_SHORT_SHA} -f Dockerfile . --push
示例:
docker buildx build --platform linux/amd64,linux/arm64 -t registry.test.com/test/multi-platform-busybox:v1 -f Dockerfile --push
如果没有报错,说明就成功了。
验证方式:
方法一:docker pull registry.test.com/test/multi-platform-busybox:v1
方法二:登录harbor仓库页面进行查看