GitHub Actions 可自动化编译容器镜像,通过配置 workflow 文件实现 push 到 main 分支、打 v 开头 tag 或手动触发;需用 buildx 搭建构建环境,完整流程含检出代码、构建镜像、登录仓库、推送多 tag;应最小化权限、缓存加速、精简镜像并验证启动。
直接用 GitHub Actions 触发容器镜像自动化编译,核心是写对工作流(workflow)文件,让代码一提交就自动构建、打标签、推送——不需要手动敲命令。
镜像编译不是随时都该跑,得靠事件驱动。最常用的是 push 到 main 分支,或打带 v 开头的 tag:
GitHub 默认提供 ubuntu-latest 运行器,但容器构建需要 Docker 或 buildx 支持:
docker/setup-buildx-action@v3 启用 BuildKit,支持多阶段、缓存、并行构建--platform linux/amd64,linux/arm64
一个完整流程通常包含四步,缺一不可:
actions/checkout@v4,注意加 fetch-depth: 0(尤其涉及 git tag 或 submodule 时)docker buildx build,支持 --load(本地加载)或 --push(直推仓库)${{ secrets.GITHUB_TOKEN }};Docker Hub 必须用 Access Token(不能用密码),配成 secret 变量生产级使用必须兼顾安全和效率:
permissions:,只开 packages: write 和 contents: read
actions/cache@v4 缓存 /tmp/.buildx-cache,能省掉 40%+ 构建时间docker run --rm your-image:latest /bin/sh -c 'echo ok',防止镜像无法启动