У меня есть конфигурация docker-compose для приложения MEAN, которая работает нормально.
Я бы хотел, чтобы мои угловые (ng serve) и экспресс-серверы (nodemon) автоматически запускались при нажатии клавиш ctrl + s, как если бы я запускал свое приложение локально.
Для этого мои контейнеры должны знать, что файлы изменились.
Как я могу это сделать?
Dockerfile Angular:
FROM node:10
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . ./
EXPOSE 4200
CMD ["npm", "start"]
Докер-файл Экспресса:
FROM node:6
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . ./
EXPOSE 3000
CMD ["npm", "start"]
docker-compose.yml:
version: '3'
services:
angular: # name of the first service
build: client # specify the directory of the Dockerfile
ports:
- "4200:4200"
express: #name of the second service
build: server # specify the directory of the Dockerfile
ports:
- "3000:3000"
links:
- database
database: # name of the third service
image: mongo
ports:
- "27017:27017"
И Angular, и Express имеют .dockerignore для node_modules