Docker Konteyner Yeniden Başlatma Politikaları
Docker, konteyner tabanlı bir yazılım geliştirme ve dağıtım platformudur. Konteynerler, uygulamaları ve bağımlılıklarını paketleyerek çalıştırmak için izole edilmiş bir ortam sağlar. Bir Docker konteyneri, bir uygulamayı çalıştırmak için gereken her şeyi içerir: kod, bağımlılıklar ve yapılandırma ayarları. Docker, konteynerleri yönetmek ve dağıtmak için birçok özellik sunar, bunlardan biri de **yeniden başlatma politikalarıdır**. Bu makalede, Docker yeniden başlatma politikalarını ve nasıl kullanılacağını ele alacağız.
Docker Yeniden Başlatma Politikaları Nedir?
Docker yeniden başlatma politikaları, bir konteyner çökmesi durumunda Docker’ın konteyneri nasıl yeniden başlatması gerektiğini belirler. Bir konteyner, beklenmedik bir hata veya kaynak yetersizliği nedeniyle çökebilir. Bu durumlarda Docker, yeniden başlatma politikasına göre davranacaktır.
Belirli bir yeniden başlatma politikası, konteyner nasıl başlatılır ve nasıl yönetilir, bu nedenle Docker’ın konteyner çökmesi durumunda otomatik kurtarma özelliği sağlar. Docker’da çeşitli yeniden başlatma politikaları mevcuttur. **Her birini ayrıntılı olarak inceleyelim:**
Docker Yeniden Başlatma Politikaları Türleri
1. `no`
Bu politika, bir konteyner çökmesi durumunda konteynerin yeniden başlatılmayacağı anlamına gelir. Konteyner çöktüğünde, Docker onu durdurur ve konteyner tekrar manuel olarak başlatılmalıdır. Bu seçenek genellikle hata ayıklama için kullanılır ve konteynerler sürekli olarak yeniden başlatılmak istenmiyorsa tercih edilir.
2. `on-failure`
Bu politika, bir konteyner çökmesi durumunda Docker’ın konteyneri yeniden başlatacağını belirtir. Konteyner tekrar çökene kadar yeniden başlatmaya devam edecektir. Bu politika, kritik uygulamalar için uygundur çünkü bir konteyner çökmesi durumunda bile, Docker uygulamanın çalışır durumda kalmasını sağlayacaktır.
3. `always`
Bu politika, bir konteyner çökmesi durumunda Docker’ın konteyneri her zaman yeniden başlatacağını belirtir. Konteyner çökerse, Docker hemen yeni bir konteyner başlatır. Bu seçenek, konteynerin sürekli olarak çalışır durumda kalması gereken uygulamalar için uygundur. Bir konteyner çökmesi durumunda bile, Docker hemen yeni bir konteyner başlatacak ve uygulamanın kesintisiz çalışmasını sağlayacaktır.
4. `unless-stopped`
Bu politika, bir konteyner çökmesi durumunda Docker’ın konteyneri yeniden başlatacağını belirtir ancak konteyner durdurulmuşsa başlatmaz. Bu seçenek, bir konteyner çökmesi durumunda bile, konteyner manuel olarak durdurulursa, yeniden başlatılmamasını sağlamak için kullanılır.
5. `unless-stopped`
Bu politika, bir konteyner çökmesi durumunda Docker’ın konteyneri yeniden başlatacağını belirtir ancak konteyner durdurulmuşsa başlatmaz. Bu seçenek, bir konteyner çökmesi durumunda bile, konteyner manuel olarak durdurulursa, yeniden başlatılmamasını sağlamak için kullanılır.
Docker Yeniden Başlatma Politikalarını Ayarlama
Bir konteyner için yeniden başlatma politikasını ayarlayabilmeniz için, `docker run` komutu kullanılır. Aşağıdaki örnek, `on-failure` politikasıyla bir konteyner nasıl başlatılacağını gösterir:
“`bash
docker run -d –restart=on-failure my-image
“`
Yeniden başlatma politikasını, Docker Compose dosyasında da ayarlayabilirsiniz. Aşağıdaki örnek, `always` politikasıyla bir konteyner nasıl başlatılacağını gösterir:
“`yaml
version: ‘3.8’
services:
my-service:
image: my-image
restart: always
“`
Docker yeniden başlatma politikaları, uygulamalarınızın istikrarlı bir şekilde çalışmasını sağlamak için çok önemlidir. Belirli bir konteyner için doğru politikayı seçmek, konteynerlerin beklenmedik hatalar veya kaynak yetersizliği nedeniyle çökmesi durumunda uygulama kesinti süresini azaltmaya yardımcı olacaktır.
Daha fazla bilgi için, lütfen web sitesimi ziyaret edin.
Sonuç
Docker yeniden başlatma politikaları, uygulamalarınızı istikrarlı bir şekilde çalıştırmak için önemli bir araçtır. Doğru yeniden başlatma politikasını seçmek, uygulamalarınızın çalışır durumda kalmasını sağlamaya yardımcı olur ve beklenmedik hatalar veya kaynak yetersizliği nedeniyle çökmesi durumunda kesinti süresini azaltır.
#Etiketler
#Docker #Konteyner #YenidenBaşlatmaPolitikaları #DockerYenidenBaşlatmaPolitikaları #Uygulamaİstikrarı #KesintiSüreleri #DockerKomutları #DockerCompose