Flaga --restart dla kontenerów Dockera służy do definiowania polityki restartu kontenera. Dwie opcje, --restart=je-nie-zatrzymanie oraz --restart=zawsze, mają subtelne, ale ważne różnice:
--restart=zawsze:
- Pojemnik zawsze będzie próbował się zrestartować, niezależnie od tego, jak się zatrzymał.
- Jeśli kontener się zawiesi, automatycznie się restartuje.
- Jeśli demon Dockera zostanie zrestartowany, kontener również się uruchomi automatycznie.
- Nawet jeśli kontener zostanie zatrzymany ręcznie (np. używając polecenia docker stop), zrestartuje się, gdy demon Dockera się zrestartuje.
--restart=ojej-zatrzymano:
- Kontener automatycznie się restartuje po awarii.
- Jeśli demon Dockera zostanie zrestartowany, kontener również się uruchomi automatycznie.
- Kluczowa różnica: Jeśli kontener zostanie zatrzymany ręcznie (np. za pomocą polecenia docker stop), nie uruchomi się automatycznie po ponownym uruchomieniu daemona Docker.
Podsumowanie głównych różnic:
Polityka zawsze próbuje zrestartować kontener we wszystkich przypadkach, także po ręcznym zatrzymaniu. Chyba że strategia zatrzymanaSzanuj decyzję o ręcznym zatrzymaniu, która nie restartuje automatycznie kontenera po ręcznym zatrzymaniu.
Zalecenia dotyczące wyboru:
Jeśli chcesz, żeby kontener działał cały czas, bez względu na wszystko, wybierz zawsze. Jeśli chcesz ręcznie zatrzymać kontener i utrzymać go w trybie zatrzymanym, nawet po restarcie Dockera, wybierz "chyba że zatrzymane". Ten wybór jest ważny przy zarządzaniu i utrzymaniu kontenerów, zwłaszcza gdy niektóre usługi wymagają tymczasowego wstrzymania lub konserwacji. Niemal zatrzymane jest zazwyczaj uważane za bardziej elastyczną opcję, ponieważ pozwala administratorom ręcznie kontrolować stan kontenera w razie potrzeby.
|