W Docker Compose v1.6.0 + dostępna jest teraz nowa składnia pliku / wersja 2 dla tego docker-compose.yml
pliku. Zmiany obejmują oddzielny klucz najwyższego poziomu o nazwie volumes
. Umożliwia to „scentralizowanie” definicji woluminów w jednym miejscu.
To, co próbuję zrobić, to nazwać tam woluminy i mieć jedną ścieżkę odniesienia wielu woluminów na moim lokalnym dysku hosta. Poniżej znajduje się przykład zgłaszania wyjątku z Traceback
zakończeniem
AttributeError: 'list' object has no attribute 'items'
Przykład 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
… ?
Do tej pory przeczytałem wszystkie odniesienia do konfiguracji Docker Compose docs master
-branch Volume, odniesienie do Docker Compose docs Volume / Volume-Driver i przejrzałem przykłady GitHub, aby znaleźć poprawną składnię, która jest oczekiwana. Wygląda na to, że nikt już tego nie używa (GitHub), a dokumentacja jest daleka od ukończenia (docker.com). Próbowałem również zbudować osobny wolumin jako service
i odwołać się do niego volumes
, ale to również nie działa. Masz pomysł, jak powinna wyglądać ta składnia?