Node.js docker 容器在文件夹位于桌面但不在 C 盘中时运行

Node.js docker container runs when folder is located on desktop but wont in C drive

我有一个多容器设置,我从 docker-compose 文件开始。一切正常,直到我将我的设置替换为 C 盘中的任何文件夹。

例如; 当我在这里调用 'docker-compose up' 时它工作正常:C:\Users\me\Desktop\PrototypeEnvironment\Software\DataSearch

它在这里不起作用:C:\test

node_1     | module.js:327
node_1     |     throw err;
node_1     |     ^
node_1     |
node_1     | Error: Cannot find module '/home/app/chat/server.js'
node_1     |     at Function.Module._resolveFilename (module.js:325:15)
node_1     |     at Function.Module._load (module.js:276:25)
node_1     |     at Function.Module.runMain (module.js:441:10)
node_1     |     at startup (node.js:134:18)
node_1     |     at node.js:962:3
trunk_node_1 exited with code 1

我正在为 windows 使用 Docker 工具箱 有谁知道为什么会这样。如果您需要更多信息,请询问。提前致谢。

Docker-编写文件:

    version: '2' 
    services:
      node:
        build: ./node_js
        command: node_modules/.bin/nodemon -L index.js
        command: node server.js
        depends_on:
          - mongo
        links:
          - mongo      
        environment:
          NODE_ENV: development  
        ports:
          - '8080:8080'
          - '3000:3000'
        volumes:
          - ./node_js:/home/app/chat
          - /home/app/chat/node_modules

      mongo:
        build: ./mongo
        ports:
          - "27017:27017"
        volumes:
          - ./mongo:/root
      nodered:
        image: jankappe/nodered
        ports:   
          - '1880:1880'

Docker 当您没有使用 C:\Users\{your_user} 文件夹作为项目位置时出现问题,因为其他文件夹(不是来自 C:\Users\{your_user} 文件夹)是某种超出 Docker 范围的类型。例如,如果我将我的项目放在 C:\my_porject 中,那么 docker-compose.yml 中的卷将不起作用。当我将同一个项目放在 C:\Users\{my_user}\my_porject 文件夹(或用户根文件夹的任何子文件夹)中的某处时,卷正在工作。