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

GitHub Action执行成功但目标主机Docker容器未运行的排查求助

排查与修复建议:GitHub Action 容器启动后目标主机看不到的问题

核心问题

你的Start containers和Dump docker logs步骤是在GitHub提供的ubuntu-latest runner虚拟机中执行的,而非你的Digital Ocean目标主机。所以容器确实启动了,但运行在GitHub的临时runner上,你SSH登录目标主机自然看不到这些容器。

修复方案

将docker-compose相关命令整合到ssh-action的脚本中,让命令直接在目标主机上执行。修改后的配置如下:

name: CI

on:
  push:
    branches: [master]

jobs:
  build_and_push:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout files
        uses: actions/checkout@v2
  
  deploy:
    needs: build_and_push
    runs-on: ubuntu-latest

    steps:
    - name: Checkout files
      uses: actions/checkout@v2
        
    - name: Deploy to Digital Ocean droplet via SSH
      uses: appleboy/ssh-action@v0.1.3
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        key: ${{ secrets.SSH_PRIVATE_KEY }}
        port: 22
        script: |
          # 进入目标主机上的项目目录(替换为实际路径)
          cd /path/to/your/project
          # 拉取最新代码
          git pull origin master
          # 启动/重建容器
          docker-compose up -d --build
          # 验证容器状态(可选)
          docker ps
          # 查看容器日志(可选)
          docker-compose logs --tail=20

额外排查点

  • 确认目标主机已安装docker和docker-compose,且服务正常运行
  • 确保目标主机上的项目目录存在,docker-compose.yml文件配置正确
  • 检查目标主机的操作用户是否拥有docker权限(无需sudo),如果没有,在命令前添加sudo
  • 若容器启动后立即退出,通过docker-compose logs查看具体错误日志定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:15:43