在yml文件的Github Action中部署docker容器,可以通过以下步骤实现:
.github/workflows/docker-deploy.yml
。docker/build-push-action
和docker/login-action
等Github Action来构建和推送Docker镜像。docker/compose-action
或docker/cli
等Github Action来部署Docker容器。下面是一个示例的yml文件内容:
name: Docker Deploy
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push Docker image
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: your-dockerhub-username/your-image-name:latest
- name: Deploy Docker container
uses: docker/compose-action@v1
with:
compose-file: docker-compose.yml
project-name: your-project-name
service: your-service-name
action: up
在上述示例中,我们使用了以下Github Actions:
actions/checkout@v2
:用于检出代码到工作目录。docker/login-action@v1
:用于登录到Docker Hub,需要提供Docker Hub的用户名和密码,可以将密码存储在Github仓库的secrets中。docker/build-push-action@v2
:用于构建和推送Docker镜像,需要指定Docker镜像的上下文路径、推送标签等信息。docker/compose-action@v1
:用于部署Docker容器,需要提供docker-compose.yml文件路径、项目名称、服务名称和操作(如up、down等)。请注意,上述示例中的your-dockerhub-username
、your-image-name
、your-project-name
和your-service-name
需要替换为实际的值。
这是一个简单的示例,你可以根据实际需求进行修改和扩展。对于更复杂的部署场景,你可以使用其他适合的Github Actions来完成。
云+社区技术沙龙[第11期]
企业创新在线学堂
云原生正发声
DBTalk技术分享会
Techo Day
第四期Techo TVP开发者峰会
云+社区开发者大会 长沙站
云+社区技术沙龙[第14期]
领取专属 10元无门槛券
手把手带您无忧上云