Том сервиса в Docker
Том сервиса хранит папку отдельно от контейнера, который эту папку видит. Запись внутри копии указывает на хранилище службы. Убрали контейнеры проекта - данные в томе могут остаться.
Сервис web на alpine
монтирует том box
в /data и ждёт
в фоне:
services:
web:
image: alpine
volumes:
- box:/data
command: ["sleep", "300"]
После фонового запуска в том кладут короткую запись:
docker compose up -d
Слово попадает в файл внутри смонтированной папки:
docker compose exec web sh -c "echo saved > /data/note.txt"
Контейнеры проекта убирают без флага удаления томов:
docker compose down
Новый подъём с тем же файлом
снова подключит box.
Чтение файла покажет слово
saved:
docker compose up -d
Проверка содержимого внутри сервиса:
docker compose exec web cat /data/note.txt
Подключите сервису api том shelf в папку /opt и запишите туда слово kept.
Удалите контейнеры проекта, поднимите снова и убедитесь, что слово на месте.