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

GitLab CI构建阶段Docker Compose运行失败,提示apt-get命令不存在

问题根因

当前报错是因为build阶段指定的运行镜像为docker/compose:1.25.4,该镜像基于Alpine Linux系统构建,仅支持apk作为包管理器,你调用了Debian/Ubuntu系才有的apt-get命令,因此系统无法识别。

修复方案

直接调整build阶段的before_script部分代码,替换安装Python的命令即可,修改后的build阶段配置如下:

build:
  image:
    name: docker/compose:1.25.4
    entrypoint: [ "" ]
  stage: build
  variables:
    DOCKER_IMAGE_TAG: ${CI_REGISTRY_IMAGE}:${CI_COMMIT_REF_NAME}
  before_script:
    # 替换为Alpine的包管理命令安装Python及依赖组件
    - apk add --no-cache python3 py3-pip py3-venv bash
    # 软链接python命令指向python3,兼容后续调用逻辑
    - ln -sf python3 /usr/bin/python
    - python -m venv env
    - source env/bin/activate
    - python -m pip install --upgrade pip
    - pip install -r app/app-requirements.txt
    - export IMAGE=$CI_REGISTRY/$CI_PROJECT_NAMESPACE/$CI_PROJECT_NAME
    - export WEB_IMAGE=$IMAGE:web
  script:
    - chmod +x ./setup_env.sh
    - bash ./setup_env.sh
    - docker login -u $CI_REGISTRY_USER -p $CI_JOB_TOKEN $CI_REGISTRY
    - docker pull $IMAGE:web || true
    - docker-compose -f docker-compose.ci.yml build
    - docker push $IMAGE:web
    - docker tag app
    - docker build -t ${DOCKER_IMAGE_TAG} .
  after_script:
    - docker push ${DOCKER_IMAGE_TAG}
    - docker logout
  dependencies:
    - migrations
  only:
    refs:
      - merge_requests
    variables:
      - $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "qa"

调整后即可正常识别Python环境,后续如果需要使用Robot Framework,直接将对应的依赖包添加到app/app-requirements.txt中即可正常安装使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:51:00