gpt4 book ai didi

node.js - 如何让我的 Node API 容器响应文件的更改?

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

我是 Docker 新手。我创建了一个 Node-MongoDB 容器。但我遇到了一个问题...每次我更新 Node API 中的一个文件时,服务器都不会更新。即使我关闭容器并重新启动它,服务器也不会响应任何更新。我处理这个问题的方法是删除图像并重新运行 docker-compose up 命令。必须有一种更简单的方法来做到这一点。提前致谢

Dockerfile

FROM node:10

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000

CMD ["npm", "start"]

docker-compose.yml

version: '3'
services:
app:
container_name: docker-node
restart: always
build: .
ports:
- '80:3000'
links:
- mongo
mongo:
container_name: mongo
image: mongo
ports:
- '27017:27017'

最佳答案

对于您想要实现的目标,没有必要拥有自定义 Dockerfile,并且为了将编辑器中所做的更改反射(reflect)在 docker 容器内,您需要使用 docker 卷来映射它们。

NOTE: I am in a corporate environment, thus behind a firewall, therefore I cannot test the file I am about to give you.

尝试这个 Docker Compose 文件:

version: '3'
services:
install:
image: node:10
container_name: docker-node-install
user: "node"
working_dir: /home/node/app
command: "npm install"
volumes:
- "${PWD}:/home/node/app"
app:
image: node:10
container_name: docker-node
user: "node"
working_dir: /home/node/app
command: "npm start"
restart: always
volumes:
- "${PWD}:/home/node/app"
ports:
- '80:3000'
depends_on:
- mongo
mongo:
container_name: mongo
image: mongo
ports:
- '27017:27017'

安装 npm 软件包

docker-compose run install

运行您的应用:

docker-compose up app

或处于分离模式

docker-compose up -d app

如果处于分离模式,您可以随时通过以下方式跟踪日志:

docker-compose logs -f app

让我知道它是否有效;)

关于node.js - 如何让我的 Node API 容器响应文件的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59034641/

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