Чтобы настроить Docker для хранения данных на внешнем хранилище, вы можете использовать тома (volumes) или привязанные каталоги (bind mounts). Вот основные шаги:
1. Использование Docker Volumes
Docker volumes позволяют управлять данными вне контейнеров, что упрощает резервное копирование и перемещение.
Создание тома
docker volume create my_volume
Запуск контейнера с томом
docker run -d \ --name my_container \ -v my_volume:/path/in/container \ my_image
2. Использование Bind Mounts
Bind mounts позволяют монтировать директории на хосте в контейнер.
Запуск контейнера с привязанной директорией
docker run -d \ --name my_container \ -v /path/on/host:/path/in/container \ my_image
3. Пример настройки docker-compose.yml
Если вы используете docker-compose
, можно указать тома в конфигурационном файле:
services:
my_service:
image: my_image
volumes:
- my_volume:/path/in/container
# Или используйте привязку
# - /path/on/host:/path/in/container
volumes:
my_volume:
4. Резервное копирование и восстановление томов
- Резервное копирование:
docker run --rm -v my_volume:/volume -v /path/on/host:/backup busybox tar czf /backup/backup.tar.gz -C /volume .
- Восстановление:
docker run --rm -v my_volume:/volume -v /path/on/host:/backup busybox sh -c "cd /volume && tar xzf /backup/backup.tar.gz"
5. Убедитесь, что Docker настроен на использование вашего хранилища
Проверьте конфигурацию Docker, чтобы убедиться, что он может получить доступ к вашему внешнему хранилищу, особенно если оно находится на удаленном сервере или в облаке.