Я бы хотел создать сервис, сохраняя структуру файла моего проекта в чистоте.Но у Docker, похоже, есть проблемы с путями вне контекста сборки.Я создаю пакет и хотел бы хранить все, что связано с Docker, в папке под корнем проекта.Но я не могу найти способ ссылаться на файлы проекта из docker-compose
и Dockerfile
.При создании контейнеров файлы из проекта должны быть скопированы.
Вот моя текущая структура проекта:
root/
docker/
docker-compose.yml
Dockerfile
docker_resource.txt
config
src/
project-files.whatever
root-files.txt
Теперь, если я $cd docker
и $docker-compose up
, есть две возможности, которые япробовал.Либо мой Dockerfile копирует файлы с помощью COPY .. /path/in/container
, либо файл compose содержит инструкции по сборке, такие как:
x-build: &my-build
context: ..
dockerfile: docker/Dockerfile
Первый подход не работает.Очевидно, Dockerfile не может ссылаться на что-либо вне контекста сборки.Второй подход работает, но только после того, как я отредактировал команду копирования с docker_resource.txt
на docker/docker_resource.txt
.В идеале я хотел бы сохранить возможность docker build
из ./docker
и сохранять все в чистоте - не нужно беспокоиться о контексте создания в Dockerfile.Возможно ли это?
Минимально я хочу найти способ связать файлы, связанные с докером, в произвольной папке и иметь возможность указать контекст сборки в файле compose без дополнительных изменений.