Я использую docker-compose и v3. Я пытаюсь установить том в докере:
./appdata:/appdata
Я хотел бы иметь это как том, а затем ссылаться на этот том из нескольких контейнеров. ссылка на конфигурацию тома показывает только data-volume:
как именованный том без значения, поэтому он не выглядит так.
services:
nginx:
build: ./nginx/
ports:
- 80:80
links:
- php
volumes:
- app-volume
php:
build: ./php/
expose:
- 9000
volumes:
- app-volume
volumes:
app-volume: ./appdata:/appdata
Это дает мне:
ОШИБКА: В файле './docker-compose.yml' том 'app-volume' должен быть отображением, а не строкой.
Очевидно, я знаю, что мне нужно изменить пару ключ/значение volumes
, но я не уверен, как изменить это, чтобы я мог делиться томом между службами.
Я также проверил volumes_from
, но это фактически просто наследует от других контейнеров. Я видел, как кто-то использовал volumes_from
в другом контейнере, который содержит нужное им отображение, но с command: true
установлено так, что контейнер никогда не запускается, что для меня просто похоже на хак.
Как я могу это сделать?
Обратите внимание, что у меня есть следующее:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
Но это просто дублирование и я надеюсь, что именованный том поможет мне избежать: -)