低价网站建设多少钱,站内推广途径,网站建设费用首选网络,网站导航栏目设计内容依据docker buildx
默认的 docker build 命令无法完成跨平台构建任务#xff0c;我们需要为 docker 命令行安装 buildx 插件扩展其功能。buildx 能够使用由 Moby BuildKit 提供的构建镜像额外特性#xff0c;它能够创建多个 builder 实例#xff0c;在多个节点并行地执行构建任…docker buildx
默认的 docker build 命令无法完成跨平台构建任务我们需要为 docker 命令行安装 buildx 插件扩展其功能。buildx 能够使用由 Moby BuildKit 提供的构建镜像额外特性它能够创建多个 builder 实例在多个节点并行地执行构建任务以及跨平台构建。
启用 Buildx macOS 或 Windows 系统的 Docker Desktop以及 Linux 发行版通过 deb 或者 rpm 包所安装的 docker 内置了 buildx不需要另行安装。 如果你的 docker 没有 buildx 命令可以下载二进制包进行安装 首先从 Docker buildx 项目的 release 页面找到适合自己平台的二进制文件。 下载二进制文件到本地并重命名为 docker-buildx移动到 docker 的插件目录 ~/.docker/cli-plugins。 向二进制文件授予可执行权限。
https://github.com/docker/buildx/releases/tag/v0.10.3 背景
随着国产化和信创的推进为应用适配多个操作系统和处理器架构的需求越来越普遍。常见做法是为不同平台单独构建一个版本当用来开发的平台与部署的目标平台不同时实现这一目标并不容易。例如在 x86 架构上开发一个应用程序并将其部署到 ARM 平台的机器上通常需要准备 ARM 平台的基础设施用于开发和编译。
一次构建多处部署的镜像分发大幅提高了应用的交付效率对于需要跨平台部署应用的场景利用 docker buildx 构建跨平台的镜像也是一种快捷高效的解决方案。
通过 docker pull 或 docker run 拉取一个支持跨平台的镜像时docker 会自动选择与当前运行平台相匹配的镜像。由于该特性的存在在进行镜像的跨平台分发时我们不需要对镜像的消费做任何处理只需要关心镜像的生产即如何构建跨平台的镜像。
安装docker buildx
macOS 或 Windows 系统的 Docker Desktop以及 Linux 发行版通过 deb 或者 rpm 包所安装的 docker 内置了 buildx不需要另行安装。 如果你的 docker 没有 buildx 命令可以下载二进制包进行安装
首先从 Docker buildx 项目的 release 页面找到适合自己平台的二进制文件。下载二进制文件到本地并重命名为 docker-buildx移动到 docker 的插件目录 ~/.docker/cli-plugins。向二进制文件授予可执行权限 如果本地的 docker 版本高于 19.03可以通过以下命令直接在本地构建并安装这种方式更为方便
$ DOCKER_BUILDKIT1 docker build --platformlocal -o . https://github.com/docker/buildx.git
$ mkdir -p ~/.docker/cli-plugins
$ mv buildx ~/.docker/cli-plugins/docker-buildx下载docker-bulidx 二进制文件
https://github.com/docker/buildx/releases/tag/v0.10.3 $ mkdir -p ~/.docker/cli-plugins
$ mv buildx ~/.docker/cli-plugins/docker-buildxmv buildx-v0.10.3.linux-amd64 ~/.docker/cli-plugins/docker-buildx[rootncayu8847 docker]# ll ~/.docker/cli-plugins/docker-buildx
-rwxr--r--. 1 root root 49287168 2月 19 16:58 /root/.docker/cli-plugins/docker-buildx[rootncayu8847 docker]# docker buildx -h
Flag shorthand -h has been deprecated, please use --helpUsage: docker buildx [OPTIONS] COMMANDExtended build capabilities with BuildKitOptions:--builder string Override the configured builder instanceManagement Commands:imagetools Commands to work on images in registryCommands:bake Build from a filebuild Start a buildcreate Create a new builder instancedu Disk usageinspect Inspect current builder instancels List builder instancesprune Remove build cacherm Remove a builder instancestop Stop builder instanceuse Set the current builder instanceversion Show buildx version informationRun docker buildx COMMAND --help for more information on a command.