Я развернул node js + nuxt js + vue js в docker контейнере. Все запускается и доступно по адресу http://0.0.0.0: 1000 / , но когда я меняю файлы. vue - они не попадают в контейнер.
1. docker -создать --build; (я вижу в консоли: node-js | ℹ Прослушивание: http://172.19.0.2: 3000 / )
2. открыто http://0.0.0.0: 1000 / (я вижу в браузере: "99999")
/ client / layout / default. vue
<template>
<div>
99999
</div>
</template>
3. Change / client /layouts/default.vue до
<template>
<div>
111111
</div>
</template>
4. RELOAD http://0.0.0.0: 1000 / в браузере и я вижу 99999, те. изменения (111111) не применяются
Возможно ли синхронизировать c файлы? Что я делаю не так?
Моя конфигурация
структура проекта
- / api (php)
- / client (node js + nuxt js + vue js)
- / docker (конфигурация для docker)
- docker -compose.yml
- . env
.env
PROJECT_NAME=test
NODE_VERSION=13.8
...
docker -compose.yml
version: "3.7"
services:
node:
container_name: ${PROJECT_NAME}-node-js
build:
context: client
dockerfile: ../docker/client/Dockerfile
args:
- NODE_VERSION=${NODE_VERSION}
volumes:
- ./client:/app
- ./docker/client/log:/root/.npm/_logs
ports:
- "1000:3000"
command:
"npm run start"
networks:
- app-network
networks:
app-network:
driver: bridge
volumes:
dbdata:
driver: local
/ docker / client / Dockerfile
ARG NODE_VERSION
FROM node:$NODE_VERSION
COPY ./package*.json ./
RUN npm install
ENV NODE_ENV=production
COPY . .
RUN npm run build
ENV HOST 0.0.0.0
EXPOSE 3000
CMD ["npm", "start"]
/ client / .dockerignore
node_modules
npm -debug. log
.nuxt
решено!
/ клиент / пакет. json
"scripts": {
"start": "nodemon index.js -e js,graphql,gql",
"docker": "npm run dev"
...
docker -compose.yml
version: "3.7"
services:
node:
container_name: ${PROJECT_NAME}-node-js
image: node:${NODE_VERSION}
command: npm run docker
working_dir: /app
volumes:
- ./client:/app
- ./docker/client/log:/root/.npm/_logs
environment:
HOST: 0.0.0.0
ports:
- "1000:3000"
networks:
- app-network
networks:
app-network:
driver: bridge
volumes:
dbdata:
driver: local