the*_*ode 2 node.js docker docker-compose
我的目标是配置 docker,以便当我修改主机上的文件时,更改会传播到容器文件系统内。
您可以将其视为服务器端节点代码的热重载。
nodemon 文件观察程序应重新启动服务器以响应文件更改。
然而,当我使用 docker exec pokerspace_express_1 bash 检查容器并检查修改后的文件时,主机卷上的这些文件更改似乎没有反映在容器内部,这些更改不会从主机传播到容器内部。
Dockerfile
FROM node:8
MAINTAINER therewillbecode
# Create app directory
WORKDIR src/app
RUN npm install nodemon -g
# Install app dependencies
COPY package.json .
# For npm@5 or later, copy package-lock.json as well
# COPY package.json package-lock.json ./
RUN npm install
CMD [ "npm", "start" ]
Run Code Online (Sandbox Code Playgroud)
docker-compose.yml
version: '2'
services:
express:
build: .
depends_on:
- mongo
environment:
- MONGO_URL=mongo:27017/test
- SERVER_PORT=3000
volumes:
- ./:/src/app
ports:
- '3000:3000'
links:
- mongo
mongo:
image: mongo
ports:
- '27017:27017'
mongo-seed:
build: ./mongo-seed
links:
- mongo
Run Code Online (Sandbox Code Playgroud)
.dockerignore
.git
.gitignore
README.md
docker-compose.yml
Run Code Online (Sandbox Code Playgroud)
如何确保主机卷文件更改反映在容器中?
在你的 Dockerfile 中尝试这样的事情:
\n\nCMD ["nodemon", "-L"]\nRun Code Online (Sandbox Code Playgroud)\n\n有些人有类似的问题,并且能够通过将-L(这意味着 \xe2\x80\x9clegacy watch\xe2\x80\x9d)传递给 nodemon 来解决它。
参考:
\n\n| 归档时间: |
|
| 查看次数: |
4216 次 |
| 最近记录: |