Поскольку монтирование подкаталогов именованных томов невозможно , возможно, вы можете попробовать следующее.
На мой взгляд, нескольким контейнерам нужен доступ к одной и той же файловой системе. По докеру том документации :
Помните, что несколько контейнеров могут монтировать один и тот же том, и для некоторых из них он может быть смонтирован для чтения и записи, а для других - только для чтения.
По сути, вы можете создать один том докера и разделить его между всеми вашими контейнерами:
# Initialize the Docker Volume
docker volume create my_project_volume
docker run -v my_project_volume:/my_project --name helper alpine true
docker cp . helper:/my_project
docker rm helper
Если вы хотите, чтобы ваши приложения (например, apache) обращались только к подпапкам вашего тома, вы всегда можете смонтировать том в /
(или в любом месте по вашему выбору) и создать символическую ссылку из каталога, к которому ваше приложение получит доступ. в подкаталог тома. Например:
# 1. Run your apache container, mounting the named volume to root dir
docker run -v my_project_volume:/my_project --name my_apache httpd:latest
# 2. Create symlink to named volume subdirectory
docker exec -it my_apache ln -s /usr/local/apache2/htdocs /my_project/src