CentOS’a Docker Kurulumu: Tam Adım Adım Kılavuz
Docker, yazılım geliştirme, gönderme ve çalıştırma şeklini temelden değiştirmiştir. Yazılımı hafif, taşınabilir kaplara paketleyerek, Docker klasik “benim makinemde çalışıyor” sorununu ortadan kaldırır ve hem geliştirme iş akışlarını hem de üretim dağıtımlarını önemli ölçüde basitleştirir. CentOS çalıştırıyorsanız ve konteynerizasyonun gücünden yararlanmak istiyorsanız, bu kapsamlı kılavuz sizi her adımda yönlendirir — sistem güncellemesinden ileri yapılandırmaya kadar.
İster tek bir web uygulaması dağıtıyor ister karmaşık çok konteynerli ortamları yönetiyor olun, Docker’ı CentOS’a doğru şekilde yüklemek kritik ilk adımdır.
Ön Koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
- CentOS 7 veya CentOS 8 sunucusu (fiziksel veya sanal)
sudoayrıcalıklarına sahip bir kullanıcı hesabı- Kararlı bir internet bağlantısı
- Linux komut satırı hakkında temel bilgi
> Pro İpucu: En iyi Docker deneyimi için, bunu bir VPS Hosting planında çalıştırmayı düşünün. Sanal özel sunucu, tam kök erişimi, özel kaynakları ve paylaşılan ortamların kısıtlamaları olmadan kaplara çalıştırma esnekliği sağlar.
Adım 1: Sistemi Güncelleyin
Herhangi bir yeni yazılım yüklemeden önce, uyumluluk ve güvenliği sağlamak için mevcut paketlerinizi her zaman güncelleyin. Aşağıdaki komutu çalıştırın:
sudo yum update -yBu komut, yüklü tüm paketleri en son sürümlerine yeniler. Kaç güncelleme beklemede olduğuna bağlı olarak birkaç dakika sürebilir. Tamamen güncellenmiş bir sistem, Docker kurulumu sırasında bağımlılık çatışmaları riskini azaltır.
Adım 2: Gerekli Bağımlılıkları Yükleyin
Docker, doğru şekilde çalışmak için birkaç sistem düzeyinde pakete dayanır. Bunları tek bir komutla yükleyin:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2Her paketin yaptığı şey:
| Paket | Amaç |
|---|---|
yum-utils | Depoları yönetmek için yum-config-manager yardımcı programını sağlar |
device-mapper-persistent-data | Docker’ın cihaz eşleştirici depolama sürücüsü için gerekli |
lvm2 | Docker’ın depolama arka ucu için Mantıksal Birim Yöneticisi desteği |
Bu bağımlılıklar, Docker’ın CentOS sisteminizde konteyner depolamasını verimli ve güvenilir bir şekilde yönetebilmesini sağlar.
Adım 3: Resmi Docker Deposunu Ekleyin
CentOS’un varsayılan paket depoları en son Docker paketlerini içermez. En güncel, kararlı sürümü almak için Docker’ın resmi deposunu eklemeniz gerekir:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoBu komut, Docker’ın resmi CentOS deposunu sisteminizin depo listesine ekler. Resmi kaynağı kullanmak, üçüncü taraf aynalardan potansiyel olarak eski sürümler yerine Docker Inc.’den doğrudan orijinal, güncel Docker paketleri aldığınızı garanti eder.
Deponun başarıyla eklendiğini yapılandırılmış depoları listeleyerek doğrulayabilirsiniz:
sudo yum repolistAdım 4: Docker Engine’i Yükleyin
Depo yerinde olduğunda, Docker’ı yüklemek basittir:
sudo yum install -y docker-ce docker-ce-cli containerd.io> Not: Tam, üretim hazır bir kurulum için ana motorun yanında docker-ce-cli (Docker komut satırı arayüzü) ve containerd.io (konteyner çalışma zamanı) yüklemeniz de önerilir.
Bu, Docker Community Edition (CE) — hem geliştirme hem de üretim iş yükleri için mükemmel olan Docker’ın ücretsiz, açık kaynaklı sürümünü yükler.
Adım 5: Docker Hizmetini Başlatın ve Etkinleştirin
Docker’ı yüklemek onu otomatik olarak başlatmaz. Docker daemon’unu başlatmanız ve sistem önyüklemesinde otomatik olarak başlaması için yapılandırmanız gerekir:
sudo systemctl start docker
sudo systemctl enable dockersystemctl start docker— Docker hizmetini hemen başlatırsystemctl enable docker— Docker’ı sunucu her yeniden başlatıldığında otomatik olarak başlayacak şekilde yapılandırır
Hizmet Durumunu Doğrulayın
Docker’ın doğru şekilde çalıştığını doğrulayın:
sudo systemctl status dockerHizmetin etkin (çalışıyor) olduğunu gösteren çıktı görmelisiniz. Durum herhangi bir hata gösterirse, sorun giderme ayrıntıları için sistem günlüklerini journalctl -u docker ile gözden geçirin.
Adım 6: Docker Kurulumunu Doğrulayın
Her şeyin beklendiği gibi çalıştığını doğrulamak için Docker’ın yerleşik testini çalıştırın:
sudo docker run hello-worldBu komut aşağıdakileri yapar:
- Docker Hub kayıt defterine bağlanır
- Hafif
hello-worldtest görüntüsünü indirir - Bu görüntüden yeni bir konteyner oluşturur
- Konteyner çalıştırır, bu da bir onay mesajı yazdırır
Kurulumunuz başarılı olursa, şu şekilde başlayan çıktı göreceksiniz:
Hello from Docker!
This message shows that your installation appears to be working correctly.Tebrikler — Docker artık CentOS sunucunuzda tamamen yüklü ve operasyonel.
Adım 7: Docker’ı Root Olmayan Kullanıcılar İçin Yapılandırın (İsteğe Bağlı ancak Önerilir)
Varsayılan olarak, Docker komutları sudo (kök ayrıcalıkları) gerektirir. Geliştirme ortamlarında güvenlik ve kolaylık için, belirli root olmayan kullanıcıların Docker komutlarını docker grubuna ekleyerek çalıştırmasına izin verebilirsiniz.
Docker Grubunu Oluşturun
Çoğu durumda, bu grup kurulum sırasında otomatik olarak oluşturulur. Değilse, el ile oluşturun:
sudo groupadd dockerKullanıcınızı Docker Grubuna Ekleyin
your_username yerine gerçek Linux kullanıcı adını yazın:
sudo usermod -aG docker your_usernameDeğişiklikleri Uygulayın
Çıkış yapın ve grup üyeliğinizi yenilemek için geri giriş yapın. Alternatif olarak, değişikliği geçerli oturumda etkinleştirin:
newgrp dockerSudo Olmadan Test Edin
docker run hello-worldBu sudo olmadan ve izin hatası olmadan çalışırsa, yapılandırma doğru şekilde çalışıyor.
> Güvenlik Uyarısı: docker grubu, root kullanıcısına eşdeğer ayrıcalıklar verir. Üretim ortamlarında bu gruba yalnızca güvenilen kullanıcıları ekleyin.
Adım 8: Temel Docker Komutları Referansı
Docker çalışmaya başladığında, günlük olarak kullanacağınız en önemli komutlar şunlardır:
Konteyner Yönetimi
# List all running containers
docker ps
# List all containers (including stopped ones)
docker ps -a
# Start a stopped container
docker start container_id
# Stop a running container
docker stop container_id
# Remove a container
docker rm container_id
# Remove all stopped containers at once
docker container pruneGörüntü Yönetimi
# List all locally stored images
docker images
# Pull an image from Docker Hub
docker pull image_name
# Pull a specific version/tag
docker pull image_name:tag
# Remove a local image
docker rmi image_name
# Remove all unused images
docker image prune -aKonteyner Çalıştırma
# Run a container interactively
docker run -it image_name /bin/bash
# Run a container in detached (background) mode
docker run -d image_name
# Run a container with port mapping
docker run -d -p 8080:80 image_name
# Run a container with a custom name
docker run -d --name my_container image_nameGünlükleri ve İstatistikleri Görüntüleme
# View container logs
docker logs container_id
# Follow live log output
docker logs -f container_id
# View real-time resource usage
docker statsAdım 9: Docker’ın Önyüklemede Başladığını Doğrulayın
systemctl enable docker çalıştırdıktan sonra Docker zaten önyüklemede başlayacak şekilde yapılandırılmış olmalıdır. Bunu çift kontrol etmek veya yeniden etkinleştirmek için:
sudo systemctl enable dockerOtomatik başlatmayı devre dışı bırakmak için (örneğin, Docker’ı her zaman çalıştırmanız gerekmeyen bir geliştirme makinesinde):
sudo systemctl disable dockerAdım 10: İleri Yapılandırma (İsteğe Bağlı)
Docker Compose’u Yükleyin
Docker Compose, basit bir YAML yapılandırma dosyası kullanarak çok konteynerli uygulamaları tanımlamak ve yönetmek için gerekli bir araçtır. En son kararlı sürümü yükleyin:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeKurulumu doğrulayın:
docker-compose --versionDocker Compose ile, tüm uygulama yığınlarını — web sunucuları, veritabanları, önbellekler — tek bir docker-compose.yml dosyasında tanımlayabilir ve hepsini bir komutla başlatabilirsiniz: docker-compose up -d.
Docker Daemon’u Yapılandırın
Daemon yapılandırma dosyasını düzenleyerek (veya oluşturarak) Docker’ın davranışını özelleştirebilirsiniz:
sudo nano /etc/docker/daemon.jsonYaygın bir yapılandırma örneği:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
},
"storage-driver": "overlay2",
"default-address-pools": [
{"base": "172.17.0.0/16", "size": 24}
]
}Daemon yapılandırmasını düzenledikten sonra, değişiklikleri uygulamak için Docker’ı yeniden başlatın:
sudo systemctl restart dockerYapılandırabileceğiniz yaygın daemon ayarları şunları içerir:
- Günlük sürücüsü ve döndürme — Konteyner günlüklerinin tüm disk alanını tüketmesini önleyin
- Depolama sürücüsü —
overlay2CentOS için önerilen sürücüdür - DNS ayarları — Konteynerler için özel DNS sunucuları ayarlayın
- Kayıt defteri aynası — Yerel aynalarla görüntü çekme hızını artırın
Güvenlik Duvarı Kurallarını Yapılandırın (CentOS 7)
firewalld çalıştırıyorsanız, Docker’ın ağ trafiğine izin vermeniz gerekebilir:
