You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GitHub Action的yml工作流文件中运行构建完成的Docker容器

实现方案

你只需要在现有yml文件的Docker Push步骤之后,新增启动容器、状态校验的相关步骤即可,修改后的完整配置如下:

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_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
        
    - name: List images
      run: docker images  
      
    - name: Docker Push
      run: docker push test/vampi_docker:latest

    # 以下为新增的容器运行相关步骤
    - name: 启动Docker容器
      run: |
        # 后台启动容器,按需替换端口映射、环境变量等参数
        # 示例中将容器内部80端口映射到runner的8080端口,你可以根据自己的镜像实际暴露端口修改
        docker run -d --name vampi_container -p 8080:80 test/vampi_docker:latest

    - name: 校验容器运行状态
      run: |
        # 查看正在运行的容器,确认容器正常启动
        docker ps
        # 打印容器启动日志,方便排查启动异常问题
        docker logs vampi_container

    # 可选步骤:如果你的镜像提供了HTTP服务,可以添加可用性检测
    - name: 检测服务可用性
      run: |
        # 等待3秒给服务启动留足时间,可根据实际情况调整
        sleep 3
        # 测试端口是否可访问,可替换为你自己的检测逻辑
        curl http://localhost:8080

补充说明

  • 如果你需要给容器传递额外配置,可以在docker run命令中添加对应的参数,比如用-e 变量名=变量值传递环境变量,用-v 本地路径:容器路径挂载数据卷
  • 由于GitHub Action的runner运行结束后会自动销毁,所以这个容器只在当前workflow执行期间存在,如果你需要把容器部署到自己的服务器上,需要额外添加SSH连接服务器、拉取镜像启动的逻辑

内容的提问来源于stack exchange,提问作者Mohd Rashid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:27:05