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 文件夹(或用户根文件夹的任何子文件夹)中的某处时,卷正在工作。
我有一个多容器设置,我从 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 文件夹(或用户根文件夹的任何子文件夹)中的某处时,卷正在工作。