我正在使用postgres DB创建一个docker节点应用程序。这是我的Dockerfile
:
# Use an official node runtime as a parent image
FROM node:10
# Set the working directory to /home/app
WORKDIR /home/app/
# Copy package.json to /home/app
COPY package.json .
# Bundle app source to /home/app
COPY . .
# If you are building your code for production
# RUN npm install --only=production
RUN npm install
# Make port 8000 available to the world outside this container
EXPOSE 8000
CMD npm run dev
还有我的docker-compose.yml
文件:
version: "2"
services:
brewmaster:
build: .
image: myUser/brew_backend:latest
ports:
- 7000:8000
depends_on:
- postgres
environment:
- DATABASE_URL=postgres://postgres:password@db:5432/brewmaster
- PORT=3000
volumes:
- .:/home/app/
postgres:
image: postgres
restart: always
ports:
- "5432:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=password
- POSTGRES_DB=brewmaster
所以我已经同步了卷,因此当我进行本地更改并保存时,可以在容器中看到更改。但是,当我刷新网页时,看不到更改。
在我的package.json文件中,我有这行来运行nodemon:
"scripts": {
"dev": "nodemon server.js"
}
在代码中保存更改后,如何在导航器中查看更改?我可以正确使用nodemon吗? (我在Dockerfile中运行npm run dev
)
我在带有Hyper-V的Windows上使用docker。
编辑
我通过将其放入package.json
文件中找到了解决方案:
"scripts": {
"dev": "nodemon -L --inspect=0.0.0.0:7000 server.js"
}
因此nodemon监听主机端口7000并检测文件更改。