gpt4 book ai didi

node.js - 文件更改时,Nodemon 不会在 docker 容器中重新加载

转载 作者:行者123 更新时间:2023-12-02 18:47:45 25 4
gpt4 key购买 nike

我阅读了很多关于此的主题,但没有人解决任何问题。

有人说你必须加--legacy-watch (或 -L)到 nodemon命令。
其他人显示了几种不同的配置,显然 nodody 真的知道当 docker 容器内的卷中的文件更改时,您必须做什么才能实现服务器重启。

到目前为止,我的配置是:

Dockerfile:

FROM node:latest

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# install nodemon globally
RUN npm install nodemon -g

# Install dependencies
COPY package*.json ./
RUN npm install

# Bundle app source
COPY . /usr/src/app

# Exports
EXPOSE 3000

CMD ["npm", "start"]

docker-compose.yml
version: '3.1'

services:
node:
build: .
user: "node"
volumes:
- ./:/usr/src/app
ports:
- 3000:3000
depends_on:
- mongo
working_dir: /usr/src/app
environment:
- NODE_ENV=production
expose:
- "3000"
mongo:
image: mongo
expose:
- 27017
volumes:
- ./data/db:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example

包.json
{
"name": "node-playground",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "nodemon -L"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"ejs": "^2.7.1",
"express": "^4.17.1",
"mongoose": "^5.7.1"
},
"devDependencies": {
"nodemon": "^1.19.2"
}
}


我也尝试了许多不同的设置。喜欢不全局安装 nodemon但仅作为项目依赖项。并且还在 docker-compse.yml 运行命令,我相信还有很多我现在不记得了。没有。

如果有人对此有任何确定性,请提供帮助。谢谢!!!!

最佳答案

尝试一下!
这对我有用:
通过 CLI,使用 --legacy-watch-L简称。更多信息 here .

关于node.js - 文件更改时,Nodemon 不会在 docker 容器中重新加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57946095/

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