← Wszystkie artykuły i nowości

Linux i hosting

Docker Compose: aktualizacja z zachowaniem danych

Rozdziel obraz, kontener i dane. Przygotuj zmianę, sprawdź konfigurację i przetestuj odtworzenie kopii.

MerMiko2 min czytania

Ustal, co naprawdę trzeba zachować

Plik Compose opisuje usługi, ale nie jest kopią ich danych. Zidentyfikuj nazwane wolumeny, bind mounty, bazy danych i pliki konfiguracyjne. Dane zapisane wyłącznie w zapisywalnej warstwie kontenera mogą zniknąć wraz z jego wymianą. Zapisz używany tag lub digest obrazu oraz wersję schematu bazy.

Przygotuj konfigurację

Poniższy fragment ilustruje trwały wolumen dla PostgreSQL 17. Dopasuj wersję do istniejącego klastra; zmiana głównej wersji PostgreSQL jest migracją, nie zwykłą podmianą tagu. Zmienna musi być dostępna w środowisku procesu Compose.

services:
  db:
    image: postgres:17
    environment:
      POSTGRES_PASSWORD: ${DB_PASSWORD:?set DB_PASSWORD}
    volumes:
      - db_data:/var/lib/postgresql/data

volumes:
  db_data:

Nie traktuj przykładowego hasła z poradnika jako sekretu produkcyjnego. Pliku z właściwymi wartościami nie publikuj. docker compose config może wypisać rozwinięte wartości zmiennych — wynik także wymaga ostrożnego przechowywania.

Wykonaj kontrolowaną zmianę

docker compose config --quiet
docker compose pull
docker compose up -d
docker compose ps
docker compose logs --tail=80

Przed tym etapem wykonaj kopię zgodną z używanym silnikiem bazy. Archiwum plików aktywnej bazy nie zawsze jest spójne. Po uruchomieniu sprawdź logi, healthcheck i rzeczywistą operację aplikacji, np. odczyt wcześniej zapisanego rekordu.

Sprawdź plan powrotu

Odtworzenie starego obrazu nie cofa migracji danych. Próbę przywrócenia wykonuj w osobnym projekcie i na osobnym wolumenie. Zmiana nazwy projektu Compose może spowodować wybór innego wolumenu o podobnej nazwie, dlatego porównaj także identyfikatory zasobów. Nie używaj down -v ani czyszczenia wolumenów jako rutynowego kroku aktualizacji.

Źródła i dokumentacja

Odnośniki do źródeł pozwalają sprawdzić daty, dostępność oraz pełny kontekst informacji.

Czytaj dalej

Biblioteka poradników Najnowsze wiadomości