最开始
docker run -itd -P -p 3000:3000 -v ~/taikang-yiliao-phone-name:/code node:8.5.0 bash
然后 cd /code ; npm i ; npm i mongodb; npm i nodemon
(由于本地开发时 npm i monogdb -g 了,所以package.json中没有mongodb的信息)
docker run -itd -P -p 3000:3000 -v ~/taikang-yiliao-phone-name:/code node:8.5.0 sh -ic 'cd /code;npm start'
docker run -itd -P -p 3000:3000 -v ~/taikang-yiliao-phone-name:/code node:8.5.0 sh -ic 'cd /code;/code/node_modules/nodemon/bin/nodemon.js'
注意,nodemon.js应该在项目目录下运行:cd /code是很必要的,否则就会无法启动了。(Dockerfile的话workdir可以帮助到这一点)
之所以此处是 nodemon.js是因为只是安装到本地项目了,npm i nodemon -g则会安装到全局,且可以使用 nodemon直接执行 。
这样即使git热更新了代码,nodemon会负责自动重启服务,不在需要杀掉容器和重启服务。
docker run -itd -P -p 3000:3000 -v ~/taikang-yiliao-phone-name:/code -e TZ="Asia/Shanghai" node:8.5.0 sh -ic 'cd /code;npm start'
docker run -itd -P -p 3000:3000 -v ~/taikang-yiliao-phone-name:/code -e TZ="Asia/Shanghai" node:8.5.0 sh -ic 'cd /code;./node_modules/nodemon/bin/nodemon.js'
docker run -itd -P -p 3000:3000 -v ~/taikang-yiliao-phone-name:/code -e TZ="Asia/Shanghai" node:8.5.0 sh -ic 'cd /code;/code/node_modules/nodemon/bin/nodemon.js'
网友评论