当前位置:首页 > 行业动态 > 正文

如何使用 GitHub Actions 构建 Docker 镜像

使用GitHub Actions构建Docker镜像,首先需要在仓库中创建一个名为 .github/workflows的文件夹,并在其中创建一个YAML文件(如 docker_build.yml),然后编写相应的工作流程配置。

如何使用 GitHub Actions 构建 Docker 镜像

准备工作

1、在 GitHub 上创建一个新的仓库,用于存放 Dockerfile 和相关代码。

2、在本地计算机上安装 Docker 和 Docker Compose。

3、在仓库中创建一个名为 Dockerfile 的文件,用于定义 Docker 镜像的构建过程。

4、在仓库中创建一个名为 .github/workflows 的文件夹,用于存放 GitHub Actions 工作流配置文件。

创建 Dockerfile

在 Dockerfile 文件中,编写以下内容:

使用官方 Python 基础镜像
FROM python:3.8slim
设置工作目录
WORKDIR /app
将依赖文件复制到工作目录
COPY requirements.txt .
安装依赖
RUN pip install nocachedir r requirements.txt
将源代码复制到工作目录
COPY . .
暴露端口
EXPOSE 8000
启动应用
CMD ["python", "app.py"]

创建 GitHub Actions 工作流配置文件

在 .github/workflows 文件夹中,创建一个名为 docker_build_push.yml 的文件,用于配置 GitHub Actions 工作流,编写以下内容:

name: Build and Push Docker Image
on:
  push:
    branches:
      main
jobs:
  build_and_push:
    runson: ubuntulatest
    steps:
    name: Checkout repository
      uses: actions/checkout@v2
    name: Set up Docker Buildx
      uses: docker/setupbuildxaction@v1
    name: Login to DockerHub
      uses: docker/loginaction@v1
      with:
        username: ${{ secrets.DOCKERHUB_USERNAME }}
        password: ${{ secrets.DOCKERHUB_TOKEN }}
    name: Build and push Docker image
      uses: docker/buildpushaction@v2
      with:
        context: .
        push: true
        tags: your_dockerhub_username/your_repository_name:latest

设置 DockerHub 凭据

在 GitHub 仓库的 Settings > Secrets > New repository secret 中,添加两个新的 secret:

1、DOCKERHUB_USERNAME:你的 DockerHub 用户名。

2、DOCKERHUB_TOKEN:你的 DockerHub 访问令牌。

触发 GitHub Actions 工作流

提交代码到 main 分支,GitHub Actions 会自动触发工作流,构建并推送 Docker 镜像到 DockerHub。

相关问题与解答

Q1: 为什么需要使用 Docker Buildx?

A1: Docker Buildx 是一个用于构建 Docker 镜像的工具,它提供了更高效、更灵活的构建方式,使用 Buildx 可以加速构建过程,同时支持多平台构建。

Q2: 如何将构建好的 Docker 镜像部署到其他服务器?

A2: 你可以使用 Docker Machine、kubectl 或其他部署工具将构建好的 Docker 镜像部署到其他服务器,具体方法取决于你的需求和基础设施。

0