在代码更改时避免重新启动Docker可以使用Docker的热重载功能。以下是一个使用nodemon工具实现热重载的示例:
npm install -g nodemon
FROM node:12
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["nodemon", "index.js"]
version: '3'
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/app
ports:
- 3000:3000
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('App listening on port 3000');
});
docker-compose up
现在,当你修改index.js文件时,nodemon会自动检测到更改并重新启动应用程序,而不需要重新构建或重新启动Docker容器。这使得在代码更改时无需手动重新启动Docker。
下一篇:避免在代码中硬编码容器的宽度