Poprawka bezpieczeństwa PHP w kontenerze zwykle pojawia się w przebudowanym obrazie. Pobranie tego obrazu i uruchomienie go w środowisku to osobne kroki. Plan aktualizacji musi też chronić bazę danych i pliki trwałe, które pozostają po usunięciu kontenera.
Przed zmianą obrazu wykonaj kopię zapasową danych aplikacji, jej bazy danych, jeśli jest używana, oraz konfiguracji. Pobierz obsługiwane wydanie z poprawkami, odtwórz usługę, zweryfikuj nowy kontener i sprawdź kluczową czynność użytkownika, zanim uznasz aktualizację za zakończoną.
1. Zapisz informacje o bieżącym wdrożeniu
Potwierdź katalog projektu i nazwy usług za pomocą docker compose ps. Zapisz bieżące tagi i identyfikatory obrazów za pomocą docker compose images, a także zanotuj lokalizację woluminów trwałych i danych bazy. Przechowuj chronioną kopię konfiguracji Compose, nie ujawniając danych poufnych we współdzielonych dziennikach.
Sprawdź informacje o wydaniu obrazu docelowego, aby potwierdzić obecność poprawki PHP. Tag o nazwie latest nie potwierdza obecności konkretnej poprawki. Jeśli przypinasz obraz za pomocą skrótu, musi on zostać zmieniony na zweryfikowany skrót obrazu zastępczego.
2. Wykonaj spójną kopię zapasową
Skorzystaj z udokumentowanej metody tworzenia kopii zapasowej aplikacji. Zachowaj konfigurację, pliki i kopię zapasową bazy danych z tego samego punktu odzyskiwania. Jeśli aplikacja tego wymaga, skoordynuj wstrzymanie zapisu lub włączenie trybu konserwacji. Kopia katalogu działającej bazy danych w systemie plików nie zastępuje uniwersalnie prawidłowej kopii zapasowej bazy danych.
Przechowuj kopię odzyskiwania poza zasięgiem zapisu aplikacji i upewnij się, że wiesz, jak ją przywrócić. Zachowaj poprzednią konfigurację i odwołanie do obrazu, ale pamiętaj, że przywrócenie starego, podatnego obrazu nie powinno oznaczać jego ponownego udostępnienia w publicznym internecie.
3. Pobierz obraz i odtwórz wybraną usługę
W przypadku obrazu opublikowanego przez opiekuna projektu zaktualizuj odwołanie do obrazu w usłudze, wskazując zgodną, konkretną wersję, a następnie użyj tego przykładu we właściwym katalogu projektu. Zastąp app nazwą usługi aplikacji PHP:
docker compose pull app
docker compose up -d --no-deps app
docker compose ps
docker compose exec -T app php -vDocker dokumentuje, że pull pobiera obrazy bez uruchamiania kontenerów, a up wprowadza zmiany obrazu lub konfiguracji, odtwarzając kontenery. Tutaj --no-deps ogranicza zmianę do wybranej usługi. Używaj tej opcji tylko wtedy, gdy usługi zależne działają prawidłowo i są kompatybilne.
W przypadku niestandardowych kompilacji zaktualizuj odpowiednią bazę PHP lub pakiety, przebuduj obraz w ramach zwykłego procesu kompilacji i wdroż uzyskany obraz. Powtórz te czynności dla procesów roboczych korzystających z tego środowiska uruchomieniowego. Nie wprowadzaj poprawek w powłoce tymczasowego kontenera, zakładając, że przetrwają jego odtworzenie.
4. Sprawdź działanie aplikacji przed ponownym udostępnieniem
Sprawdź lokalnie logi pod kątem błędów uruchamiania, nie udostępniając tokenów ani prywatnych ścieżek. Potwierdź działanie środowiska uruchomieniowego sieci WWW, a następnie przetestuj logowanie, przeglądanie plików, przesyłanie niewielkiego pliku i zadanie w tle. Upewnij się, że ścieżki wolumenów i ich właściciele nadal odpowiadają zamierzonemu układowi.
Jeśli ograniczono dostęp z zewnątrz, przywróć go dopiero po sprawdzeniu wersji i działania funkcji. Sam status kontenera oznaczony jako prawidłowy nie potwierdza, że przesyłanie plików ani zadania w tle działają.
5. Odzyskuj dane rozważnie, jeśli walidacja się nie powiedzie
Na czas sprawdzania problemu pozostaw usługę odizolowaną. Jeśli wymagają tego zasady migracji aplikacji, przywróć jednocześnie pliki aplikacji i stan bazy danych; po aktualizacji schematu zmiana samego obrazu może być niebezpieczna. Nie używaj docker compose down -v jako skrótu przy rozwiązywaniu problemów, ponieważ może usunąć nazwane wolumeny.
Użytkownicy ZimaCube 2 powinni oddzielić rejestr aktualizacji od plików przechowywanych zbiorczo i utrzymywać niezależne kopie zapasowe. Pomyślna aktualizacja kończy się działającym środowiskiem uruchomieniowym, sprawnymi funkcjami aplikacji i możliwą do zastosowania procedurą odzyskiwania.
Poznaj ZimaCube 2 Personal Cloud Home NAS do prywatnego przechowywania danych i konfiguracji samodzielnie hostowanych aplikacji. Bezpieczeństwo oprogramowania zależy od zainstalowanych usług, ich konfiguracji i zweryfikowanych aktualizacji.
Kontynuuj serię o bezpieczeństwie PHP
Źródła i zakres
Stan na 22 października 2026 r. Zalecenia dotyczące wdrażania należy dostosować do używanej aplikacji i dokumentacji dostawcy; te artykuły nie potwierdzają narażenia konkretnego produktu.
Wsparcie i wskazówki
Więcej do przeczytania

Jak sprawdzić wymagania dotyczące pamięci i czasu działania przed uruchomieniem LFM2.5-24B-A2B
Przed wdrożeniem na serwerze domowym sprawdź format wag LFM2.5-24B-A2B, narzut pamięci, wersje środowiska uruchomieniowego, kontekst i zgodność z narzędziami.

Jak testować Granite Speech 5.0 przy użyciu anglojęzycznych plików audio przechowywanych na serwerze NAS?
Przetestuj Granite Speech 5.0 na krótkim nagraniu w języku angielskim z pamięci NAS. Sprawdź wersję rewizji checkpointu, środowisko uruchomieniowe, częstotliwość próbkowania, jakość transkrypcji i...

Jak przygotować pliki i uprawnienia do pracy z Claude Duet
Przygotuj zadanie Claude Duet z wybranymi plikami, ograniczonym zakresem połączonych kont, osobnymi wersjami roboczymi, wynikami gotowymi do sprawdzenia i jasnym planem usunięcia połączenia.

