Aplikacja może działać na komputerze programisty, a zawieść po przeniesieniu na serwer. Docker pakuje ją wraz z zależnościami do obrazu, z którego uruchamia się kontener. Dzięki temu środowiska są bardziej powtarzalne, a wydanie łatwiejsze do opisania. Kontenery nie zapewniają jednak automatycznie kopii zapasowych, bezpieczeństwa, monitoringu ani odporności na awarię serwera.
Co umieszczać w obrazie
Obraz powinien zawierać aplikację i zależności potrzebne do jej uruchomienia. Hasła oraz ustawienia właściwe dla danego środowiska przechowuj poza nim. Przypinaj wersje zależności i buduj obrazy ponownie po aktualizacjach bezpieczeństwa. Niewielki, jasno określony obraz łatwiej sprawdzić i wdrożyć niż taki, który potajemnie instaluje narzędzia przy starcie.
Dane wymagają osobnego podejścia
Kontener można wymienić w każdej chwili. Pliki przesłane przez klientów i dane bazy potrzebują trwałego miejsca przechowywania oraz zasad tworzenia kopii zapasowych. Nie powinny zależeć od zapisywalnej warstwy, która znika razem z kontenerem. Przed uruchomieniem produkcyjnym sprawdź restart i odtwarzanie po awarii.
Stosuj tam, gdzie liczy się powtarzalność
Docker pomaga zbliżyć do siebie środowisko lokalne, testy automatyczne i wdrożenie. Przydaje się zwłaszcza wtedy, gdy produkt składa się z kilku usług. Prosta aplikacja na platformie zarządzanej może nie potrzebować rozbudowanej orkiestracji kontenerów. Wybierz najmniej złożony układ, który spełnia wymagania niezawodności.
Proces wydawania nadal jest ważny
Sprawdź działanie nowej wersji przed przełączeniem ruchu, zachowaj poprzednią i przygotuj sposób wycofania zmiany. Zbieraj logi poza kontenerem i monitoruj usługę z punktu widzenia użytkownika. Obraz jest jednostką dostarczenia oprogramowania; niezawodne wydanie wymaga sprawdzonego procesu wokół niego.



