Как объяснено ранее в комментариях и предыдущих ответах, вы не можете копировать файлы, которые находятся вне контекста сборки. Поэтому вам нужно либо изменить контекст вверх по пути к каталогу, либо переместить необходимые файлы в текущий контекст.
Если посмотреть на ваш макет, я бы go выбрал первое решение и по умолчанию использовал бы ваш базовый каталог. в качестве контекста (как только вы поймете решение, вы можете адаптировать context
и dockerfile
к вашим точным потребностям).
В вашем Dockerfile
измените следующие строки:
COPY ./server/package.json .
COPY ./server/package-lock.json .
Примечание : строка COPY . .
должна быть удалена (или вам нужно лучше объяснить, что вы на самом деле пытаетесь достичь с помощью этого)
Раздел сборки в вашем docker-compose.yml
файл должен выглядеть так:
build:
context: .
dockerfile: server/docker/Dockerfile
Эквивалентная ручная сборка будет
cd /path/to/my-app
docker build -f server/docker/Dockerfile .