如何在 Arm 架构上使用官方 Docker-MySQL 镜像?
如何在 arm 架构中使用官方 docker-mysql 镜像
问题说明
目标是基于 mysql 的 x86 官方镜像构建一个与之对应的 arm 架构镜像。但是,官方 dockerfile 并未指定可用于 arm 架构的步骤。
dockerfile 分析
提供的 dockerfile 揭示了构建镜像所需的文件和指令:
- file:702017714ad3e1567b4f60b688750f8b631d91088e4dcf41351c4bb07749c579:这是 layers 文件,其中包含构建镜像所需的所有文件和元数据。
- file:e9a583a365264f0f565259ffd0f19e5199ef4351d098f75af32f633c0d6cbe73:这是脚本入口点文件,用于启动 mysql 服务。
解决方案
虽然 dockerfile 不提供构建 arm 镜像的明确步骤,但建议使用新一代的 docker 构建工具 buildx 来实现以下步骤:
-
安装 buildx 工具:
# linux curl -sl https://github.com/docker/buildx/releases/latest/download/buildx-linux-x86_64 -o buildx chmod +x buildx sudo mv buildx /usr/local/bin # macos brew install docker/buildx/buildx
-
创建构建器:
buildx create builder --name my-arm-builder --platform linux/arm64 --append
-
构建 arm 镜像:
buildx build --platform linux/arm64 -t my-arm-mysql-image .