Nodeman没有与Docker一起刷新
我试图弄明白为什么在传入环境变量时Nodemon没有从docker内部重新启动。以前,当我不尝试传入一个env变量时,它工作了,而在我的Dockerfile中,最后的命令是Nodeman没有与Docker一起刷新,docker,nodemon,Docker,Nodemon,我试图弄明白为什么在传入环境变量时Nodemon没有从docker内部重新启动。以前,当我不尝试传入一个env变量时,它工作了,而在我的Dockerfile中,最后的命令是CMD[“npm”、“run”、“devNoClient”] 我可以看到Nodemon在终端中启动,但在更新文件时不会重新启动服务器 Makefile node_dev: echo 'Starting Node dev server in Docker Container' docker build -t n
CMD[“npm”、“run”、“devNoClient”]
我可以看到Nodemon在终端中启动,但在更新文件时不会重新启动服务器
Makefile
node_dev:
echo 'Starting Node dev server in Docker Container'
docker build -t node_dev .
docker run -it --env-file variables.env -p 8080:8080 node_dev
Dockerfile
WORKDIR /chord-app
# copy package.json into the container
COPY package.json /chord-app/
# install dependencies
RUN npm install
# Copy the current directory contents into the container at /chord-app
COPY . /chord-app/
# Make port 8080 available to the world outside this container
EXPOSE 8080
# Env is required to persist variable into built image.
# Docker run can now accept variable and it will be assigned here.
# default is run in dev mode
ENV run_mode_env=devNoClient
# Run the app when the container launches
# Due to variable, CMD syntax must change for this to work https://stackoverflow.com/a/40454758
CMD npm run $run_mode_env
package.json
"scripts": {
"devNoClient": "nodemon --exec babel-node src/server/start.js",
},
我意识到它不起作用,因为在启动docker映像时,我没有任何绑定卷到本地机器。因此,容器不需要监视我的计算机上保存的文件,因此它可以使用nodemon重新启动服务器