我正在尝试使用以下撰写文件运行docker并构建命令。
到目前为止,我已经想出了这个:
docker build --tag testenvironment/nodejs ./node_js
docker run -p 8080:8080 -v ./node_js:/home/app/chat -v /home/app/chat/node_modules --name nodejs testenvironment/nodejs
我被困在这里,因为它会出现以下错误:
C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: create ./node_js: "./node_js" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intented to pass a host directory, use absolute path. See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.
撰写文件:
node:
build: ./node_js
command: node server.js
depends_on:
- mongo
links:
- mongo
environment:
NODE_ENV: development
ports:
- '8080:8080'
volumes:
- ./node_js:/home/app/chat
- /home/app/chat/node_modules
有人能告诉我如何将卷从compose文件转换为docker run命令吗?提前谢谢。
我正在使用适用于Windows 10的Docker Toolbox。
答案 0 :(得分:2)
在Windows中添加卷时,必须使用绝对路径,可以采用以下格式:
docker run -p 8080:8080 -v //c/users/desktop/path/to/node_js:/home/app/chat
docker run -p 8080:8080 -v C://users/desktop/path/to/node_js:/home/app/chat
答案 1 :(得分:0)
这部分:
docker run -p 8080:8080 -v ./node_js:/home/app/chat ....
应该是:
docker run -p 8080:8080 -v $(pwd)/node_js:/home/app/chat
docker run
需要卷的绝对路径(与compose不同)