С Компоновщик Docker Compose v1.6.0+, теперь есть новый синтаксис файла / версии 2 для docker-compose.yml
файл. Изменения включают в себя отдельный ключ верхнего уровня с именем volumes
. Это позволяет "централизовать" определения объемов в одном месте.
То, что я пытаюсь сделать, это имя тома там и имеют одну ссылку на тома с несколькими путями на моем локальном хост-диске. Ниже приведен пример, вызывающий исключение с Traceback
это заканчивается тем, что
AttributeError: 'list' object has no attribute 'items'
Пример docker-compose.yml
:
version: '2'services: db: image: postgres volumes: - database:/var/lib/postgres/data php: image: php-fpm:5.6 volumes: - phpconf:/etc/php/conf.d namedvolume: container_name: namedvolume build: ./Docker/Testvolume volumes: - ./Docker/Testvolume/sharemevolumes: database: - ./Docker/Postgres/db:ro - ./Docker/Postgres/ini phpconf: - ./Docker/PHP-FPM/conf singledir: ./Docker/foo completemap: ./Docker/bar:/etc/service/conf.d - namedvolume:/etc/service/conf.d # < this was a separate attempt w/o the other keys … ?
До сих пор я прочитал все Докер Создает документы master
- филиал Ссылка на конфигурацию тома, Докер Создает документы Громкость / Громкость-Ссылка на драйвер и просмотрел Примеры GitHub чтобы найти правильный синтаксис, который ожидается. Похоже, что никто уже не использует это (GitHub), и документация далека от завершения (docker.com ). Я также попытался создать отдельный том, как service
и ссылаться на него в volumes
, но это работает не так хорошо. Есть какие-нибудь идеи о том, как должен выглядеть этот синтаксис?