差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 后一修订版 | 前一修订版 | ||
| docker:buildx [2025/06/01 11:41] – 创建 admin | docker: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:// | ||
| + | |||
| + | 使用 docker buildx ls 命令查看现有的构建器 | ||
| + | ``` | ||
| + | docker buildx ls | ||
| + | ``` | ||
| + | |||
| + | 创建并构建器: (需要企业级镜像仓库) | ||
| + | ``` | ||
| + | # 下面的创建命令任选一条符合情况的即可 | ||
| + | # 1. 不指定任何参数创建 | ||
| + | docker buildx create --use --name multiarch-builder | ||
| + | # 2. 如创建后使用docker buildx ls 发现构建起没有arm架构支持,可使用--platform明确指定要支持的构建类型,如以下命令 | ||
| + | buildx-config.toml 配置文件写法类似: | ||
| + | # https:// | ||
| + | |||
| + | 启用构建器 | ||
| + | docker buildx inspect multiarch-builder --bootstrap | ||
| + | docker buildx 构建arm64镜像的命令 | ||
| + | docker buildx build --platform=linux/ | ||
| + | 提示:当指定多个架构时,只能使用 --push 推送到远程仓库,无法 --load,推送成功后再通过 docker pull --platform 来拉取指定架构的镜像 | ||
| + | 在x86上运行arm镜像可参考 github/ | ||
| + | 执行如下命令安装: | ||
| + | docker run --rm --privileged multiarch/ | ||
| + | 之后即可运行arm版本的镜像,如: | ||
| + | docker run --rm -t arm64v8/ | ||
| + | ``` | ||
| + | |||
| + | **hub.docker.com** 需要在外网构建,内网连接不上docker.io | ||
| + | |||
| + | ``` | ||
| + | docker login -u netfun2000 | ||
| + | |||
| + | docker buildx create --use --name multiarch-builde | ||
| + | docker buildx build --platform=linux/ | ||
| + | |||
| + | ``` | ||
| + | |||
| + | {{.: | ||
| + | |||
| + | **阿里镜像仓库** | ||
| + | |||
| + | ``` | ||
| + | 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/ | ||
| + | ``` | ||
| + | |||