node.js - 更改代码时避免重新启动 docker
问题描述
我是第一次使用 docker,所以这对你来说可能是一个愚蠢的问题。我配置:dockerfile
和docker-compose
。每次我更改代码(nodejs 代码)时,我都需要运行以下命令:
docker-compose up --build
如果我想查看更改,我想知道是否有办法更新我的代码,而不必每次都运行该命令。谢谢。
Dockerfile:
FROM node:latest
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
ENV NODE_PATH=/app/node_modules
EXPOSE 1337
CMD ["npm", "start"]
码头工人撰写:
version: '3'
services:
node_api:
container_name: app
restart: always
build: .
ports:
- "1337:1337"
links:
- mongo
mongo:
container_name: mongo
image: mongo:latest
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=admin
- MONGO_INITDB_DATABASE=test
ports:
- "27017:27017"
restart: always
解决方案
您可以在容器中挂载包含源代码的目录,并使用诸如nodemon 之类的工具,该工具将监视文件并在更改时重新启动应用程序。
有关详细信息,请参阅文章Docker 技巧:使用 Nodemon进行开发。
推荐阅读
- xtext - 如何获取项目中所有模型文件的名称(uri)
- c++ - Xcode开发,我可以通过一些#define规则放置#pragma used(x)吗
- javascript - 如何多次使用Formik的handleChange来改变同一个值?
- sql - SQL选择查询给我重复的列
- javascript - 现代 ecmaScript 中词法环境和环境记录的区别
- python-3.x - 有没有办法在 django IntegerChoices 中为同一个整数设置多个名称
- python - `open` 函数不会在提到的路径创建文件
- python - 枚举所有可能的数据类实例(仅使用 enum 和 bool 字段)
- c# - C# DateTime.ParseExact 000+0000
- javascript - 动态属性解构不适用于数字