Skip to content

构建与推送镜像

注册账号:https://hub.docker.com/

单平台构建推送

    1. docker login
    1. docker build -t imagesName:Tag .
    1. docker push imagesName:Tag

修改镜像名称:docker tag IMAGES-ID imagesName:Tag

多平台构建推送

通过 docker pull 或 docker run 拉取一个支持跨平台的镜像时,docker会自动选择与当前运行平台相匹配的镜像.

buildx插件能够实现docker跨平台构建. 实现在x86平台构建amd64/arm64镜像并推送. 参考文章参考文章

    1. docker login【最好先登录,构建后直接推送】
    1. 安装buildx
shell
DOCKER_BUILDKIT=1 docker build --platform=local -o . "https://github.com/docker/buildx.git"

mkdir -p ~/.docker/cli-plugins

mv buildx ~/.docker/cli-plugins/docker-buildx

# 安装多平台轻量级的虚拟机, 在虚拟机系统中构建镜像
docker run --privileged --rm tonistiigi/binfmt --install all

# 创建一个新的支持多架构的构建器【以下命令只需执行一条】
# 使用默认镜像
docker buildx create --name mybuilder --driver docker-container
# 国内环境
docker buildx create --use --name=mybuilder-cn --driver docker-container --driver-opt image=dockerpracticesig/buildkit:master

# 指定builder
docker buildx use mybuilder
    1. 构建并推送镜像【记得先登录
shell
# --platform:指定平台 --push:构建完成自动推送
docker buildx build --platform linux/amd64,linux/arm64 --push -t imagesName:Tag .
    1. 验证
shell
# 查看已推送到远程仓库的镜像
docker buildx imagetools inspect imagesName:Tag

# 在不同的平台以 latest 标签拉取并运行镜像,验证构建结果是否正确