Skip to main content

Як зберегти дані між запусками контейнерів? (junior)

Щоб дані не зникали при пересозданні контейнера, їх виносять за межі контейнера за допомогою томів (volumes) або маунтів (bind-mount).

Два основні способи (junior)

1. Docker volume (найкращий варіант для продакшену)

bash
docker volume create mydata docker run -v mydata:/app/data IMAGE

Дані зберігаються поза контейнером, але керуються Docker.

2. Bind-mount (підключення папки хоста)

bash
docker run -v /path/on/host:/app/data IMAGE

Дані лежать прямо на хості, а контейнер просто їх використовує.

Що це дає

  • дані не зникають при docker stop, docker rm і пересборці образу;
  • до них можна підключати інші контейнери;
  • зручно робити бекапи.

Підсумок

Щоб зберегти дані між запусками контейнера, використовують volume або bind-mount - вони виносять дані за межі контейнера й не дають їм загубитися.

Якщо потрібно - можу намалювати просту схему або показати, як перевірити volume через docker volume ls.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.