docker buildx构建多架构image+远程推送

1. 删除旧的buildx构建器

  docker buildx rm multiarch-builder

 

2. 查看构建器列表

  docker buildx ls

 

3. 编辑/etc/buildkitd.toml

  vim /etc/buildkitd.toml

 

4. 创建多架构buildx构建器,并挂载/etc/buildkitd.toml

  docker buildx create --name multiarch-builder --driver-opt network=host --buildkitd-flags '--allow-insecure-entitlement security.insecure' --use --driver docker-container --platform linux/amd64,linux/arm64 --config /etc/buildkitd.toml

 

5. 启动构建,查看状态

  docker buildx inspect multiarch-builder --bootstrap

 

6. 查看控制权限(可能没有输出)

  docker buildx inspect multiarch-builder | grep -A5 "Entitlements"

  1):进入buildkit容器

    docker exec -it $(docker ps --filter "name=multiarch-builder" -q) sh

  2):查看挂载的配置文件

    cat /etc/buildkit/buildkitd.toml 2>/dev/null || echo "No custom buildkitd.toml found"

 

7. 登录远程仓库,如:

  docker login -u admin -p Harbor12345 192.168.3.213:80

 

8. 构建多架构镜像+远程推送

  docker buildx build --platform linux/amd64 --allow security.insecure -t 192.168.3.213:80/test/backup_test:latest --push .

 

附:

重启docker守护进程:sudo systemctl daemon-reload

重启docker:sudo systemctl restart docker

查看docker不安全仓库:docker info | grep -A 5 "Insecure Registries"

 

作者:dancers原文地址:https://www.cnblogs.com/shine-java/p/18902136

%s 个评论

要回复文章请先登录注册