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

时间:2017-05-29 13:38:42

标签: docker docker-compose docker-toolbox

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

例如; 当我打电话给#dock; 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

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

Docker-compose文件:

    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'

1 个答案:

答案 0 :(得分:1)

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