Linux üzerine Docker ve Portainer Kurulumu
Her şey işletim sisteminizde doğrudan çalışmamalıdır. SQL Server gibi araçlar, ağır kaynak ayak izleri taşır ve onları çıplak-metal çalıştırmak, bu kaynakların ihtiyaçınız olsa da olmasa da tüketildiği anlamına gelir. Kapsayıcılar bunu çözer: ihtiyaçınız olduğunda birini döndürür ve olmadığında durdurursunuz. Docker, bu iş akışını güçlendiren motor ve Portainer, kütüphane dolusu CLI komutunu ezberlemeksizin yönetilebilir kılan hafif bir GUI'dir.
Tim Corey'nin Linux geliştirme serisine dayanan bu çözüm, Ubuntu üzerinde tam kurulum detaylandırır: apt deposunu kaydetmek, motoru kurmak, kişisel makinelerde sudo gereksinimini kaldırmak ve Portainer CE'yi kalıcı bir kapsayıcı olarak dağıtmak.
Adım 1: Docker'ın apt Deposu Ekleme
[3:10 - 6:00] Docker'in kendisi apt ile kurmadan önce Docker'in paket kaynağını kaydetmeniz ve sisteminize güvenmesi için bir neden vermeniz gerekmektedir. Docker, tüm bunları tek bir yapıştırma ile halleden kopyalanabilir bir komut bloğu sunar. docs.docker.com adresine gidin, Kurulum kısmına gidin, ardından Ubuntu'yu seçin. "Apt deposu kullanarak kurulum" altındaki komutlar istediğiniz şeydir.
Bu blok sırayla birkaç işlem gerçekleştirir: gerekli sertifika araçlarını yükler, Docker'in resmi GPG anahtarını indirir, izinlerini ayarlar ve depo adresini apt kaynaklar listenize yazar. Bloğun tamamını bir kerede çalıştırmak için dokümantasyondan kopyalayın ve Ctrl+Shift+V ile terminale yapıştırın.
Önemli bir noktayı vurgulamak gerekir: yeni paket kaynaklarını körü körüne eklemeyin. Sertifikasını kurmadan önce kaynağa güvendiğinizi doğrulayın. Docker güvenilir bir kaynaktır ve güvenmeyi hak ediyor; ancak bu ilke eklediğiniz her kaynak için geçerlidir. Bu yaklaşım aslında, varsayılan olarak birçok paket yöneticisinin yaptığı şeyden daha sıkıdır, bu bir özellik, bir karmaşıklık değildir.
Adım 2: Docker Motorunu Kurma
[6:00 - 7:10] Depo kaydedildiğinde, Docker kurulumu tek bir apt komutudur:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginsudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginİstendiğinde onaylayın ve apt indirme ve kurulum işlemlerini halleder. Docker, otomatik olarak açılışta başlamak üzere yapılandırılmıştır, bu nedenle ekstra bir adım gerektirmeden her yeniden başlatmadan sonra arka planda çalışır.
Her şeyin çalıştığını onaylamak için hello-world kapsayıcısını çalıştırın:
sudo docker run hello-worldsudo docker run hello-worldDocker görüntüyü çeker, çalıştırır ve bir onay mesajı yazdırır. Bu çıktı, kurulumunuzun çalıştığı anlamına gelir. Hello-world kapsayıcısı, bir kez çalışıp çıkacak şekilde tasarlanmıştır; motorun yanıt verdiğini doğrulamak için var olur.
Adım 3: Docker'ı sudo Olmadan Çalıştırmak (Sadece Kişisel Makineler)
[7:45 - 10:30] Varsayılan olarak, Docker komutları konteynerleri yönetmek ayrıcalıklı bir işlem olduğundan sudo gerektirir. Paylaşımlı bir sunucu veya üretim makinesinde, bu şekilde bırakın. Tek başınıza kontrol ettiğiniz kişisel bir geliştirme makinesi için, kendinizi docker grubuna eklemek ön eki kaldırır:
sudo usermod -aG docker $USERsudo usermod -aG docker $USER-aG mevcut hesabı buna ekler. Büyük-küçük harf duyarlıdır: $USER büyük harfle yazılmalıdır. Değişiklik, çıkış yapıp yeniden giriş yapana kadar etkinleşmez; bir oturumu kapatma yerine tam bir sistem yeniden başlatma, grup üyeliğinin doğru uygulanması için daha güvenilirdir. Bir kez yaptığında, docker run hello-world sudo olmadan çalışır.
Bu bir rahatlık takasıdır, bir güvenlik geliştirmesi değil. Sadece geliştirme makineleri için saklayın.
Adım 4: Portainer için Bir Hacim Yaratma
[11:30 - 12:45] Portainer'ı başlatmadan önce, konteyner yeniden başlatmaları ve değiştirmeleri arasında verilerini kalıcı hale getirmek için adlandırılmış bir hacim oluşturun:
docker volume create portainer_datadocker volume create portainer_dataKapsayıcılar tasarım gereği geçicidir, birini yok etmek içine depolanan her şeyi siler. Bir hacim, kapsayıcı yaşam döngüsünün dışında, Docker'ın yönettiği bir yolda yaşar, bu nedenle Portainer'ın yapılandırması yok edilip yeniden inşa edilse bile korunur.
Adım 5: Portainer Kapsayıcısını Çalıştırma
[12:45 - 14:10] Portainer CE, aslında bir Docker kapsayıcısıdır. Tam çalıştırma komutu:
docker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-cedocker run -d -p 9000:9000 --name portainer \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data \
portainer/portainer-ceDetaylandırmak gerekirse: -d konteyneri arka planda kalacak şekilde bağlantısız çalıştırır. -p 9000:9000 ana bilgisayar portu 9000'i açar ve onu konteyner içindeki eşleşen dahili adrese yönlendirir. İlk -v Docker soketini monte eder, Portainer'e diğer konteynerleriniz ve görüntüleriniz üzerinde görünürlük ve kontrol sağlar. Soketi bu şekilde bağlamak, GUI'nin tüm Docker ortamınızı okuyup yönetebilmesini sağlar. İkinci -v, oluşturduğunuz hacmi konteyner içindeki /data ile bağlar ve durumunu kalıcı hale getirir.
portainer/portainer-ce (Topluluk Sürümü) çekin. Portainer.io web sitesi, ücretli Enterprise katmanı ile başlar, ancak CE, yerel ve kişisel kullanım için tamamen yeterli ve ücretsizdir.
Portainer UI Gezinme
[14:10 - 17:30] Konteyner başladığında, bir tarayıcı açın ve http://localhost:9000 adresine gidin. Portainer ilk eriştiğinizde bir yönetici parolası oluşturmanızı ister; en az 12 karakter olmalıdır. Oturum açtıktan sonra, ek ortamlar eklemeden hızlı kurulum sihirbazını geçin, ardından panodan yerel ortamı seçin.
Ana görünüm, indirilen görüntüleri, mevcut konteynerleri, yapılandırılmış ağları ve kullanılan hacimleri gösteren bir özet sunar. Her bir bölüme tıklamak size tam kontrol sağlar. Görüntüler altında, kurulum sırasında yapılan iki çekimden hello-world ve Portainer CE görüntüsünü göreceksiniz. Konteynerlerde, iki hello-world çalışması durdurulmuş durumda Portainer'ın yanında görünür, Portainer aktif olarak çalışmaktadır.
Containers panelinden herhangi bir girdiyi başlatabilir, durdurabilir veya kaldırabilirsiniz. Bir konteyner seçip Günlükler'e tıklamak çıktısını gösterir. Hello-world girdileri, her iki yürütülme zamanından itibaren alışıldık karşılama metnini gösterir. Bir konteyneri yeniden başlatmak ve günlüklerini kontrol etmek, yeni çıktının ilk çıktının altına eklendiğini doğrular.
Hacimler montaj yolları ile listelenir. portainer_data girişi /var/lib/docker/volumes/ altında konumunu gösterir, burada motor tüm adlandırılmış hacim verilerini diskte saklar.
Docker Desktop Yerine Neden Portainer
[17:30 - 18:10] Docker Desktop bir GUI ile birlikte gelir, ancak ciddi bir yük taşır ve bu, Linux geliştirme makinesinde işlem kaynaklarını gerçek iş yükleriniz için erişilebilir halde tutmak istediğinizde önemlidir. Portainer CE kendisi bir konteyner olarak çalışır ve çok daha az bellek ve CPU tüketir. Pratik ihtiyaçları karşılar: görüntüleri ve konteynerleri gözden geçirme, günlükleri okuma, hacimleri yönetme, servisleri başlatma ve durdurma, tüm bunlar ağırlıksız yapar.
Sonraki Adımlar
[17:50 - 18:30] Docker ve Portainer yerinde olduğunda, serinin bir sonraki adımı bir SQL Server'ı konteyner olarak çalıştırmaktır. Tek bir docker run komutu, görüntüyü çeker ve bir örnek başlatır. Portainer konteynerler panelinden oturumunuz sona erdiğinde durdurabilir ve tekrar ihtiyaç duyduğunuzda yeniden başlatabilirsiniz. Bu desen, Redis ve sürekli çalıştırılması maliyetli ancak konteynerize etmesi basit diğer altyapı araçları için de aynı şekilde geçerlidir.
Sonuç
[18:30 - end] Özetlemek gerekirse: Docker'ın apt deposunu GPG anahtarıyla kaydedin, motoru apt üzerinden yükleyin, kişisel makinelerde kullanıcılarınızı docker grubuna ekleyin, Portainer için adlandırılmış bir hacim oluşturun ve 9000 portuna eşlenmiş portainer/portainer-ce konteynerini çalıştırın. Bu noktadan itibaren, günlük işlemle ilgili Linux üzerinde konteynerleri yönetmek için CLI'ye planlanmış görevler için dokunmadan bir GUI kullanmanıza olanak tanır.
Kurulumun canlı bir makinede nasıl yapıldığını izlemek için Tim Corey'nin YouTube kanalındaki tam videoyu izleyin.

