【发布时间】:2020-08-05 11:54:37
【问题描述】:
我正在尝试在我的 Windows 机器上托管一个开发环境,该环境托管一个前端和后端容器。到目前为止,我只在后端工作。所有文件都在通过 Docker Desktop 共享的 C 盘上。
我有以下 docker-compose 文件和 Dockerfile,后者位于根目录中的一个名为 backend 的目录中。
Dockerfile:
FROM node:12.15.0-alpine
WORKDIR /usr/app
COPY package*.json ./
RUN npm install
EXPOSE 5000
CMD [ "npm", "start" ]
docker-compose.yml:
version: "3"
services:
backend:
container_name: backend
build:
context: ./backend
dockerfile: Dockerfile
volumes:
- ./backend:/usr/app
environment:
- APP_PORT=80
ports:
- '5000:5000'
client:
container_name: client
build:
context: ./client
dockerfile: Dockerfile
volumes:
- ./client:/app
ports:
- '80:8080'
由于某种原因,当我在本地文件中进行更改时,它们并没有反映在容器中。我正在通过稍微修改我的一个文件的输出来测试这一点,但我每次都必须重建容器才能看到更改生效。
我以前在 PHP 应用程序中使用过 Docker,并且基本上做过同样的事情。所以我不确定为什么这不适用于 Node.js 应用程序。我想知道我是否只是遗漏了一些显而易见的东西,说明为什么这不起作用。
任何帮助将不胜感激。
【问题讨论】:
-
你确定你已经在运行的容器中重启了 Node.js 进程吗?
-
我对使用 Node.js 很陌生。为什么这是必要的?我从来不需要对 PHP 做同样的事情。这是 nodemon 进来的地方吗?
-
你在找nodemon
标签: node.js docker docker-compose