现在.Jade文件中的更改会在Web UI上自动呈现,但是node.js文件中的代码更改不会呈现,到目前为止,这是我的docker-compose.yml文件
www:
build: .
volumes:
- ./:/app_ww
ports:
- "80:3000"
expose:
- "80"
这是我的dockerfile
FROM node:4.4.1
RUN mkdir -p app_ww
WORKDIR /app_ww
ADD package.json package.json
RUN npm install
ADD . .
CMD ["npm","start"]
我没有完成所需的工作。即,
自动呈现代码中的更改。所以,这是通过$docker-compose up --build
构建存储库在系统中创建的卷列表:
$ docker volume ls
DRIVER VOLUME NAME
local app_ww
Package.JsOn文件:
{
"name": "node_restapi",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.13.2",
"cookie-parser": "~1.3.5",
"debug": "~2.2.0",
"express": "~4.13.1",
"jade": "~1.11.0",
"morgan": "~1.6.1",
"less-middleware": "~2.1.0",
"serve-favicon": "~2.3.0"
}
}
注意:容器运行正常,但卷的概念不起作用, 问题:上述主题中提到过。
答案 0 :(得分:1)
如果您正在使用泊坞机,我认为该卷是从"机器"您创建而不是本机文件系统。您必须跳过几个环节才能将本机fs目录安装到docker-machine实例。你在用什么操作系统?这似乎在此处记录为间歇性问题:https://github.com/docker/compose/issues/2247
答案 1 :(得分:0)
我找到了我面临的问题的解决方案。 在这里,
npm install -g nodemon
在docker文件中包含带有-g(全局)标志的nodemon,对我来说非常适合。 谢谢@JHarris,@ Aditya,@ShanShan
此致 穆罕默德·阿布巴克尔