如何在 yml 文件中的 Github Action 中部署 docker 容器?
Posted
技术标签:
【中文标题】如何在 yml 文件中的 Github Action 中部署 docker 容器?【英文标题】:How to deploy docker container in Github Action in yml file? 【发布时间】:2021-11-22 07:59:18 【问题描述】:我在工作流中的 github 中有 yml 文件,该文件中有一个 docker 映像构建并推送到 docker hub。
现在我们要执行该图像并在同一 yml 文件的 github 操作工作流中作为容器运行。
怎么做?
这是 yml 文件
name: vampi_docker
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: docker login
env:
# Docker_Hub_Username: xxxxxx
# Docker_Hub_Password: xxxxxx
DOCKER_USER: $secrets.DOCKER_USER
DOCKER_PASSWORD: $secrets.DOCKER_PASSWORD
repository: test/vampi_docker:latest
tags: latest, $ secrets.DOCKER_TOKEN
run: |
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: Build the Vampi Docker image
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
docker build . --file Dockerfile --tag test/vampi_docker:latest
# docker build . --file Dockerfile --tag vampi_docker:latest
- name: List images
run: docker images
- name: Docker Push
# run: docker tag vampi_docker:latest $secrets.DOCKER_USER/vampi_docker:latest
run: docker push test/vampi_docker:latest
在 Docker push 之后,下一个命令应该有 Docker 容器,即在其中构建 docker 容器。
【问题讨论】:
【参考方案1】:您已经将镜像推送到远程,因此下一步可以使用run
运行包含该镜像的容器,它将从 dockerhub 或私有注册表获取镜像:
- name: Run a container
run: docker run --rm -it rashidmd/vampi_docker:latest
【讨论】:
谢谢我解决了以上是关于如何在 yml 文件中的 Github Action 中部署 docker 容器?的主要内容,如果未能解决你的问题,请参考以下文章
如何将存储库中的文件复制到用于作业的 Docker 容器中,在 gitlab-ci.yml