docker:buildx

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
docker:buildx [2025/06/01 11:41] – 创建 admindocker:buildx [2025/06/02 11:17] (当前版本) – [使用buildx构建] admin
行 23: 行 23:
 sudo systemctl restart docker sudo systemctl restart docker
 ``` ```
 +
 +确认是否开启:
 +```
 +docker version -f’{{.Server.Experimental}}’
 +```
 +
 +如果输出true,则表示开启成功
 +
 +===== 使用buildx构建 =====
 +
 +参考文章: https://www.cnblogs.com/libruce/p/18789631
 +
 +使用 docker buildx ls 命令查看现有的构建器
 +```
 +docker buildx ls
 +```
 +
 +创建并构建器: (需要企业级镜像仓库)
 +```
 +# 下面的创建命令任选一条符合情况的即可
 +# 1. 不指定任何参数创建
 +docker buildx create --use --name multiarch-builder
 +# 2. 如创建后使用docker buildx ls 发现构建起没有arm架构支持,可使用--platform明确指定要支持的构建类型,如以下命令
 +buildx-config.toml 配置文件写法类似:
 +# https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md# registry configures a new Docker register used for cache import or output.[registry."zh-registry.geostar.com.cn" mirrors = ["zh-registry.geostar.com.cn" http = true  insecure = true
 + 
 +启用构建器
 +docker buildx inspect multiarch-builder --bootstrap
 +docker buildx 构建arm64镜像的命令
 +docker buildx build --platform=linux/arm64,linux/amd64 -t xxxx:tag . --push
 +提示:当指定多个架构时,只能使用 --push 推送到远程仓库,无法 --load,推送成功后再通过 docker pull --platform 来拉取指定架构的镜像
 +在x86上运行arm镜像可参考 github/qemu-user-static ,简要描述如下:
 +执行如下命令安装:
 +docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
 +之后即可运行arm版本的镜像,如:
 +docker run --rm -t arm64v8/fedora uname -m
 +```
 +
 +**hub.docker.com** 需要在外网构建,内网连接不上docker.io
 +
 +```
 +docker login -u netfun2000
 +
 +docker buildx create --use --name multiarch-builde
 +docker buildx build --platform=linux/arm64,linux/amd64,linux/arm/v7 -t netfun2000/grafana:v2.0.2 . --push
 +
 +```
 +
 +{{.:pasted:20250601-114814.png}}
 +
 +**阿里镜像仓库**
 +
 +```
 +docker login --username=netfun2000@foxmail.com crpi-7pakhaa9ktpqkcg1.cn-beijing.personal.cr.aliyuncs.com
 +
 +docker buildx create --use --name multiarch-builde
 +docker buildx build --platform=linux/arm64,linux/amd64,linux/arm/v7 -t  crpi-7pakhaa9ktpqkcg1.cn-beijing.personal.cr.aliyuncs.com/teslamate2025/grafana:v2.0.2 . --push
 +```
 +
  
  • docker/buildx.1748749299.txt.gz
  • 最后更改: 2025/06/01 11:41
  • admin