Как правильно настроить контекст и запустить docker-compose (проблема с перемещением Dockerfile в другую директорию)
У проекта следующая структура:
Пытаюсь запустить докер из корня проекта по команде: docker-compose -f docker/development/docker-compose.yml up --build
Сборка начинается, но потом получаю ошибку:

Содержание docker-compose.yaml:
version: '3.9'
services:
app:
container_name: vue-dev
build:
context: docker/development
dockerfile: Dockerfile
command: npm run dev
restart: always
ports:
- 80:4444
- '8081:8081'
volumes:
- .:/app
- nodemodules:/app/node_modules
stdin_open: true
tty: true
volumes:
nodemodules: {}
Содержание Dockerfile:
ARG NODE_VERSION=16-alpine
FROM node:${NODE_VERSION} as dev-stage
WORKDIR /app
COPY .npmrc package*.json ./
RUN npm install
COPY . .
EXPOSE 4444/tcp
CMD ["npm", "run", "dev"]
Подскажите как правильно настраивать docker файлы если они не в корне проекта?
Ответы (1 шт):
В docker/production/docker-compose.yml
version: '3.9'
services:
app:
container_name: vue-dev
build:
context: ../../
dockerfile: docker/production/Dockerfile
ports:
- 80:4444
environment:
PORT: 4444
stdin_open: true
tty: true
Аналогично для docker/development/docker-compose.yml
Файлы Dockerfile оставить без изменений (не менять пути копирования)
Так же надо учесть что .dockerignore должен быть один и в корне
Запуск из корня для prod: docker-compose -f docker/production/docker-compose.yml up --build -d
Для dev: docker-compose -f docker/development/docker-compose.yml up --build
