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

GitHub Action流水线配置MongoDB遇卷名格式错误求助

解决GitHub Action中MongoDB服务卷路径错误的问题

错误原因

Docker在处理GitHub Action服务的卷配置时,会把相对路径./mongo-init.js识别为卷名称而非主机目录,而卷名称不允许包含./这类字符,因此触发了无效字符报错。

解决方案

用GitHub Action预定义的GITHUB_WORKSPACE环境变量替换相对路径,该变量指向流水线中仓库克隆后的根目录,能提供正确的绝对路径。

修改后的MongoDB服务配置如下:

services:
  mongo:
    image: mongo:3.4.23
    env:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
      MONGO_INITDB_DATABASE: admin
    options: >-
      --health-cmd mongo
      --health-interval 10s
      --health-timeout 5s
      --health-retries 5
    ports:
      - 27017:27017
    volumes:
      - ${{ github.workspace }}/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro

说明

${{ github.workspace }}会被GitHub Action自动替换为当前流水线的工作目录绝对路径,确保Docker能正确识别这是主机上的文件路径而非自定义卷名称,从而完成脚本文件挂载,实现MongoDB的初始化逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 04:10:40