#docker #vue.js #npm #docker-compose #dockerfile
Вопрос:
В чем дело:
В настоящее время мне нужно узнать, как работает Docker, и поэтому я начал работать над небольшим проектом. У меня есть интерфейс VueJS (что-то довольно простое) и API python (тоже довольно простое). Мне удалось создать том Docker с 2 контейнерами (1 для vuejs, 1 для API py).
Проблема:
После создания контейнеров docker (оба работали) Я начал работать над проектом VueJS и почти закончил его сейчас. Проблема в том, что когда я пытаюсь создать новое изображение (с этим обновленным проектом vuejs) и создать новый контейнер с этим новым изображением, я всегда получаю страницу VueJS по умолчанию при открытии проекта. Тогда это выглядит так, как будто в проекте vuejs ничего не обновлено, но это действительно так.
VueJS: Докерфайл
FROM node:lts-alpine as build-stage
WORKDIR /app
COPY package*.json ./
COPY package-lock.json ./
RUN npm install
COPY . .
RUN npm run build
#After npm run build successful, publish to nginx:
FROM nginx:stable-alpine as production-stage
COPY --from=build-stage /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
докер-compose.yml
version: "3.9"
volumes:
M210-Project-Youtas-v0.2:
services:
vue-nginx:
image: vuejs/youtas-v0.2
volumes:
- M210-Project-Youtas-v0.2:/etc/nginx/templates
ports:
- "8080:80"
environment:
- NGINX_PORT=80
pythonflask-api:
image: pythonflaskapi/youtas-v0.2
volumes:
- M210-Project-Youtas-v0.2:/etc/flask/templates
ports:
- "5000:5000"
environment:
- DEBUG=1
Что я пытался
- Я запустил эту команду, чтобы убедиться, что vue создает последние изменения в рабочей версии:
сборка запуска npm
- Я попытался удалить старые контейнеры,изображения и тома.
- Я устал менять название тома
Обновить
Я перезагрузил компьютер и теперь вижу изменения, внесенные в проект vuejs при подключении к контейнеру docker. Но это не может быть единственным способом сделать это.
Комментарии:
1. Вы обновили его в
vue-nginx: image: vuejs/youtas-v0.2
соответствии с НОВЫМ изображением, которое вы создали?2. Да, я всегда обновлял свойство «изображение» в файле docker-compose.yml при создании новых изображений.