1

我有一个从 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 工具箱有没有人知道为什么会发生这种情况。如果您需要更多信息,请询问。提前致谢。

码头工人撰写文件:

    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'
4

1 回答 1

1

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

于 2017-05-29T13:56:37.173 回答