Моя текущая структура проектов выглядит примерно так:
/home/some/project
│ .credentials_dev
│ .credentials_prod
│ ca.cer
│ docker-compose.yml
│ Dockerfile
│ init.sql
│ nginx_dev.conf
│ nginx_prod.conf
│
├───src
└───users
Compose состоит из четырех контейнеров, два из которых являются dev и prod версией приложения, которое использует соответствующие файлы prod и dev. Как видите, следующая структура root немного перегружена, поэтому я хотел бы переместить весь персонал по развертыванию в отдельный каталог, чтобы сделать следующее:
/home/some/project
├───deployment
│ .credentials_dev
│ .credentials_prod
│ ca.cer
│ docker-compose.yml
│ Dockerfile
│ init.sql
│ nginx_dev.conf
│ nginx_prod.conf
│
├───src
└───users
Идея состоит в том, чтобы получить в приведите следующую структуру на хосте docker:
host
├───dev
│ ├───src
│ └───users
├───prod
│ ├───src
│ └───users
└───project
├───deployment
│ .credentials_dev
│ .credentials_prod
│ ca.cer
│ docker-compose.yml
│ Dockerfile
│ init.sql
│ nginx_dev.conf
│ nginx_prod.conf
│
├───src
└───users
и два контейнера app_dev и app_prod, чьи тома необходимо смонтировать в папки / host / dev и /host/prod.
I попробовали несколько решений, найденных здесь, но все они в разных вариантах вернули следующие ошибки:
ERROR: Service 'app_dev' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder264200969/ca.cer: no such file or directory
ERROR: Service 'app_dev' failed to build: COPY failed: Forbidden path outside the build context: ../ca.cer ()
Ошибка всегда появляется, когда docker -compose пытается создать изображение в этой строке :
COPY deployment/ca.cer /code/
Подскажите, пожалуйста, как добиться желаемого результата.