使用Volumes概念自动呈现代码中所做的更改(在Docker VM中运行的节点应用程序)

现在,在.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 --buildbuild立版本库在系统中创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" } } 

注:容器运行良好,但卷的概念不起作用,问题:在上述主题中提到。

如果你使用的是docker-machine,我想这个卷是从你创build的“machine”挂载的,而不是原生的文件系统。 您必须跳过几个箍来将本地fs目录安装到docker-machine实例。 你在什么操作系统? 这似乎被logging为一个间歇性的问题在这里: https : //github.com/docker/compose/issues/2247

我find了我面临的问题的解决scheme。 这里是 ,

 npm install -g nodemon 

包含-g(全局)标志的docker文件中的nodemon对我来说是完美的。 谢谢@JHarris,@Aditya,@ShanShan

问候,穆罕默德Abubaker