如何在 yml 文件中的 Github Action 中部署 docker 容器?

How to deploy docker container in Github Action in yml file?

我在工作流中的 github 操作中有 yml 文件,在该文件中有一个 docker 映像构建并推送到 docker 中心。

现在我们要执行该图像和 运行 作为同一 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 推送之后,下一个命令应该有 Docker 容器,即在其中构建 docker 容器。

您已经将镜像推送到远程,因此在下一步中可以只使用 run 到 运行 带有该镜像的容器,它将从 dockerhub 或私有注册表中获取镜像:

- name: Run a container
  run: docker run --rm -it rashidmd/vampi_docker:latest