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

GitLab CI Shell执行器无法运行docker-compose问题求助

问题解决

你的错误核心是CI配置里的DOCKER_HOST变量设置错误,导致docker-compose尝试连接一个不存在的docker主机。

具体修复步骤:

  1. 修改GitLab CI流水线配置,移除错误的DOCKER_HOST变量:

    deploy:
      stage: build
      tags:
        - shell_executor
      script:
        - pwd
        - docker-compose ps 
        - docker-compose up -d
    

    解释:Shell执行器直接在主机上运行,docker默认会使用unix:///var/run/docker.sock连接本地服务,不需要指定TCP地址。你设置的tcp://docker:2375/是给Docker执行器搭配Docker-in-Docker场景用的,在Shell执行器下完全不适用。

  2. 确保gitlab-runner用户权限生效:
    你已经执行了usermod -aG docker gitlab-runner,但需要重启GitLab Runner服务让组权限生效:

    systemctl restart gitlab-runner
    
  3. 可选验证:在CI脚本里添加docker info命令,确认docker连接正常:

    script:
      - docker info  # 验证docker连接
      - pwd
      - docker-compose ps 
      - docker-compose up -d
    

补充说明:

你用Docker执行器加SSH能正常工作,是因为SSH到主机后,使用的是主机本地的环境,没有CI里那个错误的DOCKER_HOST变量,所以docker-compose能正常连接本地docker服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:31:05