Ubuntu Server Üzerinde Docker Kurulumu ve Konteyner Yönetimi: Pratik Bir Başlangıç Rehberi
Ubuntu Server üzerinde Docker kurulumunu, temel komutları ve konteyner yaşam döngüsünü yönetmek için gereken teknik adımları keşfedin.
Caner Serbest
Sistem ve Altyapı
3 min read
Ubuntu Server Üzerinde Docker Kurulumu ve Konteyner Yönetimi: Pratik Bir Başlangıç Rehberi
Günümüz yazılım dünyasında uygulama geliştirme, test etme ve yayına alma süreçlerinin standartlaşması büyük önem taşıyor. Docker, bu noktada uygulamaları bağımlılıklarıyla birlikte izole bir ortamda paketleyerek, ‘benim bilgisayarımda çalışıyordu’ sorununu ortadan kaldıran en güçlü araçlardan biri haline geldi. Bu rehberde, bir Ubuntu Server üzerinde Docker ortamını nasıl hazırlayacağınızı ve konteynerleri nasıl yöneteceğinizi adım adım inceleyeceğiz.
1. Hazırlık ve Güncelleme
Herhangi bir yazılım kurulumuna başlamadan önce, mevcut sistem paketlerimizin güncel olduğundan emin olmalıyız. Bu, olası çakışmaların önüne geçmek adına kritik bir ilk adımdır.
sudo apt update && sudo apt upgrade -y
Sistemin Docker’ın HTTPS üzerinden paket indirmesine izin vermesi için gerekli bağımlılıkları yükleyelim:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
2. Docker Depolarını Ekleme
Ubuntu’nun varsayılan depolarında bulunan Docker sürümü bazen güncel olmayabilir. En güncel ve desteklenen sürümü almak için Docker’ın resmi GPG anahtarını ve deposunu eklemek en güvenilir yoldur.
Önce Docker’ın resmi GPG anahtarını ekleyin:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Ardından, kararlı (stable) sürüm deposunu sistemin kaynak listesine ekleyin:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
3. Docker Engine Kurulumu
Depo bilgilerini güncelledikten sonra artık kurulumu gerçekleştirebiliriz:
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y
Kurulum tamamlandığında Docker servisinin durumunu kontrol etmek iyi bir pratiktir:
sudo systemctl status docker
4. Yetkilendirme: Docker’ı Root Olmadan Çalıştırmak
Varsayılan olarak docker komutu root yetkisi gerektirir. Sürekli sudo kullanmamak ve güvenlik risklerini minimize etmek için kullanıcınızı docker grubuna ekleyebilirsiniz:
sudo usermod -aG docker ${USER}
Bu değişikliğin geçerli olması için oturumu kapatıp tekrar açmanız veya newgrp docker komutunu çalıştırmanız yeterlidir.
5. İlk Konteynerinizi Çalıştırma
Docker’ın düzgün çalıştığını doğrulamak için ‘hello-world’ imajını çalıştırabiliriz:
docker run hello-world
Bu komut, yerel sisteminizde ‘hello-world’ imajı yoksa Docker Hub’dan indirir ve bir konteyner içinde çalıştırarak size bir karşılama mesajı gösterir.
6. Temel Docker Komutları
Sistem yöneticisi olarak günlük hayatınızda en sık ihtiyaç duyacağınız komutları şöyle özetleyebiliriz:
- İmajları Listeleme:
docker images - Konteynerleri Listeleme (Çalışanlar):
docker ps - Tüm Konteynerleri Listeleme:
docker ps -a - Konteyneri Durdurma:
docker stop <konteyner_id> - Konteyneri Silme:
docker rm <konteyner_id>
7. Önemli İpuçları ve En İyi Uygulamalar
Docker’ı bir sunucu üzerinde kullanırken dikkat etmeniz gereken bazı hususlar vardır:
Veri Kalıcılığı (Volumes)
Konteynerler geçicidir. Eğer konteyner silinirse içindeki veriler de silinir. Bu yüzden veritabanı veya yapılandırma dosyaları gibi kritik verileri mutlaka Docker ‘Volumes’ özelliğini kullanarak host makinenize bağlamalısınız.
docker run -d -v /opt/data:/var/lib/mysql mysql
Kaynak Kısıtlaması
Sunucunuzdaki diğer servisleri etkilememek için konteynerlere kaynak sınırı getirebilirsiniz:
docker run -d --memory="512m" --cpus="1" nginx
Güncelleme Stratejisi
Konteynerleri düzenli olarak güncelleyin. Ancak production ortamında canlı sistemleri güncellemeden önce mutlaka test ortamında imajları sınayın.
Sonuç
Ubuntu Server üzerine Docker kurmak, modern bir sistem altyapısı kurmanın ilk adımıdır. Docker, uygulama geliştirme süreçlerini hızlandırmanın yanı sıra, sunucu yönetimini de daha modüler ve tahmin edilebilir hale getirir. Bu rehberde temel kurulumu ele aldık, ancak Docker dünyası docker-compose, network yönetimi ve security gibi birçok farklı katmana sahip. Bir sonraki aşamada çoklu servis yönetimi için docker-compose kullanımına odaklanmanızı öneririm.
Unutmayın, teknoloji her zaman değişse de, sağlam bir temel üzerine inşa edilen sistemler her zaman uzun ömürlü ve yönetilebilirdir. Bol şanslar!
Bu yazı Gemini ile otomatik oluşturulmuştur.