gpt4 book ai didi

node.js - Docker 不会将文件更改从主机传播到容器

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:42 25 4
gpt4 key购买 nike

我的目标是配置 docker,以便当我修改主机上的文件时,更改会传播到容器文件系统内。

您可以将其视为服务器端 Node 代码的热重载。

nodemon 文件观察器应该重新启动服务器以响应文件更改。

但是,当我使用 docker exec pokerspace_express_1 bash 检查容器并检查修改后的文件时,主机卷上的这些文件更改似乎没有反射(reflect)在容器内部,这些更改不会从主机传播到容器内部。

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" ]

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

.dockerignore

.git
.gitignore
README.md
docker-compose.yml

如何确保主机卷文件更改反射(reflect)在容器中?

最佳答案

在你的 Dockerfile 中尝试这样的事情:

CMD ["nodemon", "-L"]

有些人遇到了类似的问题,并且能够通过将 -L(意思是“传统 watch ”)传递给 nodemon 来解决它。

引用文献:

关于node.js - Docker 不会将文件更改从主机传播到容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46044324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com