февраля 2016:
docs/compose-file.md
упоминает:
гора все тома от другой службы или контейнера, при необходимости указать доступ только для чтения (RO) или чтение-запись (RW).
(Если не указано уровень доступа, то для чтения и записи будет использоваться.)
volumes_from:
- service_name
- service_name:ro
- container:container_name
- container:container_name:rw
Например (from this issue или this one)
version: "2"
services:
...
db:
image: mongo:3.0.8
volumes_from:
- dbdata
networks:
- back
links:
- dbdata
dbdata:
image: busybox
volumes:
- /data/db
Примечание августа 2017 : с docker-compose version 3, regarding volumes:
Ключ верхнего уровня определяет именованный том и ссылается на него из списка томов каждой службы.
Это заменяет volumes_from
в более ранних версиях формата файла Compose. См. Use volumes и Volume Plugins для общей информации об объемах.
Пример:
version: "3.2"
services:
web:
image: nginx:alpine
volumes:
- type: volume
source: mydata
target: /data
volume:
nocopy: true
- type: bind
source: ./static
target: /opt/app/static
db:
image: postgres:latest
volumes:
- "/var/run/postgres/postgres.sock:/var/run/postgres/postgres.sock"
- "dbdata:/var/lib/postgresql/data"
volumes:
mydata:
dbdata:
Этот пример показывает, именованный объем (mydata
) используется в web
службы и привязка смонтированного определены для одного сервиса (первый путь под db
объемов услуг) ,
Служба db
также использует именованный том dbdata
(второй путь под db
томами обслуживания), но определяет его, используя старый формат строки для установки именованного тома.
Именованные тома должны быть указаны под клавишей томов верхнего уровня, как показано на рисунке.
Блестящий! Он работает, спасибо. – Vingtoft
В версии 3 это не работает – Pietro
@pie ok, я поправлю ответ на версию 3 – VonC