В 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/shareme
volumes:
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
… ?
До сих пор я читал все справочники по конфигурации томов Docker Compose docs master
-branch, справку по томам / драйверам тома Docker Compose и просматривал примеры GitHub, чтобы найти правильный ожидаемый синтаксис. Кажется, никто еще не использует это (GitHub), и документация далеко не полная (docker.com). Я также пытался создать отдельный том service
и ссылаться на него volumes
, но это также не работает. Любая идея о том, как этот синтаксис должен выглядеть?