Docker konteynerlerinizi güncel tutmak, özellikle birden fazla konteyner yönetiyorsanız zorluk yaratabilir.
Watchtower’ın devreye girdiği yer burasıdır .
Watchtower, yeni bir görüntü mevcut olduğunda Docker kapsayıcılarınızı otomatik olarak güncelleyen açık kaynaklı bir araçtır ve bu makalede size bunun nasıl kurulacağını göstereceğiz.
Hadi dalalım.
Gözetleme Kulesi nasıl kurulur
Önkoşullar
- Docker ve Docker Compose’un kurulu olduğu bir sistem. Linux, Windows ve Mac OS’nin tümü Docker ile çalışır ancak biz genellikle Linux kullanmanızı öneririz. En sevdiğimiz dağıtım Debian 12’dir (bu arada, ihtiyacınız varsa VPS barındırma markamız Ekasunucu’dan Docker uygulamalarını çalıştırmak için uygun fiyatlı bir Linux VPS alabilirsiniz ).
- Docker komutlarına ilişkin temel bilgiler ( Docker ve Docker Compose’un Debian 12’de nasıl kurulacağını açıklayan bir kılavuz yayınladık , bu, Ubuntu’da da yardımcı olacaktır ve diğer Linux dağıtımları yalnızca biraz farklı olacaktır).
Adım 1) Watchtower’ı yükleyin
Öncelikle Watchtower görüntüsünü Docker Hub’dan çekmeniz gerekiyor.
Terminalinizi açın ve aşağıdaki komutu çalıştırın:
docker pull containrrr/watchtower
Adım 2) Watchtower’ı çalıştırın
Watchtower’ı başlatmak için Watchtower görüntüsünü kullanarak bir Docker kapsayıcısı çalıştırmanız gerekir.
Aşağıdaki komut işinizi görecektir:
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower
Bu komut Watchtower’ı ayrı modda çalıştırır ( -d
), kapsayıcıyı adlandırır watchtower
ve Watchtower’ın Docker arka plan programıyla iletişim kurabilmesi için Docker soketini bağlar.
Adım 3) Watchtower’ı Yapılandırın
Watchtower’ın çeşitli yapılandırma seçenekleri vardır. Ortam değişkenlerini veya komut satırı bağımsız değişkenlerini ileterek davranışını özelleştirebilirsiniz.
Watchtower’ı birkaç ek seçenekle çalıştırmanın bir örneğini burada bulabilirsiniz:
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_CLEANUP=true \
-e WATCHTOWER_POLL_INTERVAL=300 \
containrrr/watchtower
WATCHTOWER_CLEANUP=true
Watchtower’a güncellemeden sonra eski görselleri kaldırması talimatını verir.WATCHTOWER_POLL_INTERVAL=300
Güncellemeleri kontrol etme aralığını her 5 dakikada bir (300 saniye) olarak ayarlar.
Watchtower ayrıca yalnızca belirli kapsayıcıları izleme, Slack’e veya e-postaya bildirim gönderme ve daha fazlası gibi daha gelişmiş yapılandırmaları da destekler. Bu özellikler Watchtower belgelerinde ayrıntılı olarak incelenebilir .
Adım 4) Watchtower’ı Doğrulayın
Watchtower’ın doğru çalıştığından emin olmak için günlüklerini kontrol edebilirsiniz:
docker logs watchtower
Her şey düzgün şekilde ayarlanmışsa Watchtower’ın güncellemeleri kontrol ettiğini ve Docker konteynerlerinizi yönettiğini gösteren günlükleri göreceksiniz.
Bunun gibi:
root@test:~# docker logs watchtower
time="2024-06-02T05:45:43Z" level=info msg="Watchtower 1.7.1"
time="2024-06-02T05:45:43Z" level=info msg="Using no notifications"
time="2024-06-02T05:45:43Z" level=info msg="Checking all containers (except explicitly disabled with label)"
time="2024-06-02T05:45:43Z" level=info msg="Scheduling first run: 2024-06-02 05:50:43 +0000 UTC"
time="2024-06-02T05:45:43Z" level=info msg="Note that the first check will be performed in 4 minutes, 59 seconds"
time="2024-06-02T05:50:44Z" level=info msg="Session done" Failed=0 Scanned=2 Updated=0 notify=no
time="2024-06-02T05:52:24Z" level=info msg="Waiting for running update to be finished..."
Watchtower’ı Docker Compose ile Kullanma
Watchtower’ı tek bir Docker konteyneri ile kullanma sürecini kurduktan sonra, Docker Compose kullanımından bahsedelim .
Docker Compose, tek bir YAML dosyasıyla birden fazla Docker kapsayıcısı tanımlamanıza ve çalıştırmanıza olanak tanır. Bu, çok kapsayıcılı uygulamaların yönetimini kolaylaştırdığından, birçok uygulamayı kendi kendine barındıranlar için özellikle kullanışlıdır.
Docker Compose’un Watchtower ile birlikte kullanılması, hem geliştirme hem de üretim ortamlarının korunmasını çok kolaylaştırır.
Watchtower’ı Docker Compose ile Kurma
Watchtower’ı Docker Compose kurulumunuza entegre etmek için onu dosyanıza bir hizmet olarak ekleyebilirsiniz docker-compose.yml
.
İşte örnek bir yapılandırma:
services:
web:
image: nginx:alpine
ports:
- "80:80"
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_POLL_INTERVAL=300
Docker Compose kurulumunu çalıştırma
Dosyada tanımlanan hizmetleri başlatmak için docker-compose.yml
aşağıdaki komutu kullanın:
docker compose up -d
Bu hem Nginx web sunucusunu hem de Watchtower konteynerini başlatacaktır.
Tarayıcı aracılığıyla sunucunuzun genel IP adresine gittiğinizde Nginx’in çalıştığını görmelisiniz. Ayrıca aktif kapsayıcıları görmek için de yazabilir ve Watchtower’ın aktif olarak çalıştığını ve belirlenen aralıkta kapsayıcılarınızı güncellemeyi beklediğini doğrulamak için tekrar docker ps
kullanabilirsiniz .docker logs
Tebrikler! Artık tüm Docker konteynerlerinizi otomatik olarak nasıl güncel tutacağınızı biliyorsunuz.
Çözüm
Docker konteynerlerinizi güncel tutmanın kolay bir yolunu arıyorsanız; Watchtower’dan başkasına bakmayın.
Dağıtım sürecinizi ve iş akışınızı basitleştirme söz konusu olduğunda sistem yöneticisinin veya yazılım mühendisinin en iyi arkadaşıdır – Plex sunucunuzu otomatik olarak güncel tutmak gibi hobi amaçlı kullanım için olsa bile!
Bir deneyin, pişman olmayacağınıza bahse girerim.
Her zaman olduğu gibi, güvenilir barındırma çözümlerine ihtiyacınız varsa xTom, hem büyük ölçekli üretim hem de küçük projeler için üstün kaliteli hizmetler sunar. Kurumsal çözümler için Eka Sunucu’ya veya ölçeklenebilir, kişisel projeler için NVMe VPS serimize göz atın .
Dockering’iniz kutlu olsun ve okuduğunuz için teşekkürler!
Bir yanıt yazın