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

执行docker-compose up --build时command字段报错FATAL: Command <COMMAND> not found

解决GitLab Runner容器启动时执行自定义命令报错的问题

问题原因

GitLab Runner官方镜像的ENTRYPOINT默认是gitlab-runner,你在command字段填写的内容会被当作gitlab-runner的子命令执行,而非交给shell处理,因此无论输入什么普通命令,都会被识别为gitlab-runner的未知子命令,抛出FATAL: Command <COMMAND> not found.错误。

解决方案一:覆盖ENTRYPOINT并执行命令后启动Runner

修改docker-compose.yaml,将ENTRYPOINT设置为shell,同时在command中先完成自定义操作,最后启动gitlab-runner核心服务(避免容器执行完命令就退出):

version: '3'

services:
    gitlab-runner:
        container_name: gitlab-runner
        image: gitlab/gitlab-runner:v15.8.2
        volumes:
            - ./config:/etc/gitlab-runner
            - ./sock:/var/run/docker.sock
        entrypoint: ["/bin/bash", "-c"]
        command: |
            echo '123.123.255.11 adc.cde.com' >> /etc/hosts
            gitlab-runner run

解决方案二:使用自定义启动脚本

  1. 在本地创建启动脚本start-runner.sh:
#!/bin/bash
echo '123.123.255.11 adc.cde.com' >> /etc/hosts
exec gitlab-runner run
  1. 给脚本添加执行权限:
chmod +x start-runner.sh
  1. 修改docker-compose.yaml,挂载脚本并设置为ENTRYPOINT:
version: '3'

services:
    gitlab-runner:
        container_name: gitlab-runner
        image: gitlab/gitlab-runner:v15.8.2
        volumes:
            - ./config:/etc/gitlab-runner
            - ./sock:/var/run/docker.sock
            - ./start-runner.sh:/start-runner.sh
        entrypoint: ["/start-runner.sh"]

这种方式更灵活,适合后续扩展更多启动前操作。

其他容器启动时修改文件的方法

  • 构建自定义镜像:基于原镜像创建Dockerfile,在构建阶段完成文件修改:
FROM gitlab/gitlab-runner:v15.8.2
RUN echo '123.123.255.11 adc.cde.com' >> /etc/hosts

之后通过docker-compose build构建镜像并启动容器。

  • 使用extra_hosts配置:如果只是添加hosts映射,Docker Compose的extra_hosts字段可直接实现,无需手动修改/etc/hosts:
version: '3'

services:
    gitlab-runner:
        container_name: gitlab-runner
        image: gitlab/gitlab-runner:v15.8.2
        volumes:
            - ./config:/etc/gitlab-runner
            - ./sock:/var/run/docker.sock
        extra_hosts:
            - "adc.cde.com:123.123.255.11"

Docker会自动将该映射写入容器的/etc/hosts,这是处理hosts映射的标准方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 22:12:30