如何使用 GitHub Actions 构建 Docker 镜像
准备工作
2、在本地计算机上安装 Docker 和 Docker Compose。
3、在仓库中创建一个名为 Dockerfile
的文件,用于定义 Docker 镜像的构建过程。
4、在仓库中创建一个名为 .github/workflows
的文件夹,用于存放 GitHub Actions 工作流配置文件。
在 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/workflows
文件夹中,创建一个名为 docker_build_push.yml
的文件,用于配置 GitHub Actions 工作流,编写以下内容:
name: Build and Push Docker Imageon: push: branches: mainjobs: 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
在 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 镜像部署到其他服务器,具体方法取决于你的需求和基础设施。
感谢观看,欢迎留言评论和点赞!
```