Docker-konttien --restart -lippua käytetään määrittelemään kontin uudelleenkäynnistyskäytäntö. Kaksi vaihtoehtoa, --restart=unelleless-stop ja --restart=aina, sisältävät joitakin hienovaraisia mutta tärkeitä eroja:
--restart=aina:
- Säiliö yrittää aina käynnistyä uudelleen, riippumatta siitä, miten se pysähtyi.
- Jos kontti kaatuu, se käynnistyy automaattisesti uudelleen.
- Jos Docker-daemon käynnistetään uudelleen, myös kontti käynnistyy automaattisesti.
- Vaikka kontti pysäytettäisiin manuaalisesti (eli käyttäen docker stop -komentoa), se käynnistyy uudelleen, kun Docker-daemon käynnistyy uudelleen.
--restart=ellei-pysähdy:
- Kontti käynnistyy automaattisesti uudelleen, kun se kaatuu.
- Jos Docker-daemon käynnistetään uudelleen, myös kontti käynnistyy automaattisesti.
- Keskeinen ero: Jos kontti pysäytetään manuaalisesti (esim. docker stop -komennolla), se ei käynnisty automaattisesti, kun Docker-daemon käynnistyy uudelleen.
Yhteenveto pääeroista:
Aina-käytäntö pyrkii käynnistämään kontin uudelleen kaikissa tapauksissa, myös manuaalisen pysäytyksen jälkeen. Ellei pysäytetty strategiaKunnioita päätöstä lopettaa manuaalisesti, joka ei automaattisesti käynnistä säiliötä uudelleen manuaalisen pysäytyksen jälkeen.
Valintasuositukset:
Jos haluat, että säiliö toimii koko ajan, tapahtui mitä tahansa, valitse aina. Jos haluat pystyä pysäyttämään kontin manuaalisesti ja pitämään sen pysähtyneenä, jopa Dockerin uudelleenkäynnistyksen jälkeen, valitse ellei pysäytetty. Tämä valinta on tärkeä konttien hallinnassa ja ylläpidossa, erityisesti silloin kun tietyt palvelut täytyy tilapäisesti pysäyttää tai ylläpitää. Unelle-Pysäytetty -toimintoa pidetään yleensä joustavampana vaihtoehtona, sillä se antaa ylläpitäjille mahdollisuuden hallita kontin tilaa manuaalisesti tarvittaessa.
|