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

GitLab Runner构建Docker镜像报错No subsystem for mount求助

解决方案

1. 修正.gitlab-ci.yml的Docker配置

  • 替换过时的Docker驱动:将DOCKER_DRIVER: overlay改为DOCKER_DRIVER: overlay2,overlay驱动已被官方弃用,overlay2是当前推荐的稳定驱动,能避免cgroup挂载相关问题。
  • 添加dind必需的TLS变量:在variables块中补充以下配置,确保Docker-in-Docker服务能正常建立安全连接:
    DOCKER_HOST: tcp://docker:2376
    DOCKER_TLS_CERTDIR: "/certs"
    DOCKER_TLS_VERIFY: 1
    
  • 给docker-build任务添加needs: ["yarn-build"],确保先获取build阶段的产物再执行镜像构建。

修改后的完整.gitlab-ci.yml示例:

image: gitlab/dind
services:
  - docker:dind

variables:
  DOCKER_DRIVER: overlay2
  DOCKER_HOST: tcp://docker:2376
  DOCKER_TLS_CERTDIR: "/certs"
  DOCKER_TLS_VERIFY: 1

stages:
  - build
  - docker-build

cache:
  paths:
    - node_modules

yarn-build:
  stage: build
  image: node:latest
  script: 
    - unset CI
    - yarn install
    - yarn build
  artifacts:
      expire_in: 1 hour
      paths:
        - build

docker-build:
  stage: docker-build
  needs: ["yarn-build"]
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build -t $CI_REGISTRY_USER/$app_name .
    - docker push $CI_REGISTRY_USER/$app_name

2. 确保GitLab Runner以特权模式运行

Docker-in-Docker需要特权权限才能正确挂载cgroup等系统资源,修改runner配置:

  • 编辑runner配置文件(通常路径为/etc/gitlab-runner/config.toml),找到对应runner的配置段,设置privileged = true
  • 重启GitLab Runner服务:
    gitlab-runner restart
    

3. 优化Dockerfile构建流程(可选)

既然CI流水线已经单独完成了前端构建,无需在Docker镜像构建阶段重复执行npm操作,简化后的Dockerfile如下:

FROM nginx:stable
COPY build /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

这样既减少了镜像构建时间,也避免了容器内构建过程中可能触发的cgroup问题。

4. 检查主机cgroup配置

  • 执行mount | grep cgroup查看主机cgroup版本,如果是cgroup v2,确保Docker版本在20.10及以上(该版本开始支持cgroup v2)
  • 若使用cgroup v1,确认主机cgroup子系统正常挂载,没有异常配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 16:01:10