Общий том в Docker
Общий том отдает одну и ту же папку сразу двум контейнерам. Оба видят одни файлы в одной точке монтирования, потому что служба держит одно хранилище и отдаёт его двум записям о запуске.
Так удобно передавать данные между копиями без копирования на хост и без общего каталога проекта. Запись из одного контейнера сразу видна другому, если оба подключены к одному имени тома.
Создадим том box заново
для этого примера:
docker volume create box
Контейнер writer
получит том в /data
и будет ждать в фоне:
docker run -d --name writer -v box:/data alpine sleep 300
Второй контейнер reader
подключим к тому же box:
docker run -d --name reader -v box:/data alpine sleep 300
Из writer положим файл
note.txt со словом
shared в общий том:
docker exec writer sh -c "echo shared > /data/note.txt"
Из reader прочитаем тот
же файл - там должно быть слово
shared:
docker exec reader cat /data/note.txt
Подключите том shelf двум контейнерам left и right.
Из left запишите слово both и прочитайте его из right.