Docker, uygulamaları hafif, taşınabilir ve izole konteynerler içinde çalıştırmak için kullanılan popüler bir platformdur. Debian 12 ve Ubuntu 24.04 üzerinde Docker’ı kurmak, yapılandırmak ve bir docker-compose.yml dosyası ile uygulama çalıştırmak için aşağıdaki adımları takip edebilirsiniz.
1. Debian 12 ve Ubuntu 24.04 Üzerinde Docker Kurulumu
Her iki sistem de benzer paket yöneticilerini kullandığı için kurulum adımları aynıdır.
1.1. Gerekli Paketleri Güncelleyin
Öncelikle, sisteminizi güncelleyin ve gerekli bağımlılıkları yükleyin:
sudo apt update && sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg
1.2. Docker Deposunu Ekleyin
Docker’ın resmi deposunu sisteminize ekleyin:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null
sudo chmod a+r /etc/apt/keyrings/docker.asc
Ubuntu 24.04 kullanıyorsanız, yukarıdaki adımları aynı şekilde uygulayabilirsiniz.
Şimdi Docker deposunu sisteminize ekleyin:
Debian 12 İçin:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Ubuntu 24.04 İçin:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
1.3. Docker ve Docker Compose’u Yükleyin
Depoları ekledikten sonra Docker ve Docker Compose’u yükleyin:
bashKopyalaDüzenlesudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Yükleme tamamlandıktan sonra, Docker servisinin çalıştığını doğrulayabilirsiniz:
sudo systemctl enable --now docker
sudo systemctl status docker
Docker’ın düzgün çalıştığını test etmek için aşağıdaki komutu çalıştırabilirsiniz:
sudo docker run hello-world
Eğer “Hello from Docker!” mesajını alıyorsanız, Docker başarılı bir şekilde kurulmuştur.
2. Docker Kullanımı ve docker-compose.yml Örneği
Docker’ı kurduktan sonra Docker Compose kullanarak birden fazla servisi yönetebiliriz. Örnek olarak, bir NGINX ve MySQL içeren basit bir docker-compose.yml dosyası oluşturalım.
2.1. Docker Compose Kurulumu (Opsiyonel)
Docker Compose, Docker paketiyle birlikte gelir. Ancak bağımsız bir sürüm yüklemek isterseniz:
sudo apt install -y docker-compose
Versiyonu kontrol edin:
docker-compose --version
3. Örnek docker-compose.yml ile Nginx ve MySQL Çalıştırma
Aşağıdaki docker-compose.yml dosyası, NGINX ve MySQL içeren basit bir uygulamayı yönetir.
version: '3.8'
services:
web:
image: nginx:latest
container_name: nginx_server
ports:
- "80:80"
volumes:
- ./html:/usr/share/nginx/html
depends_on:
- db
db:
image: mysql:latest
container_name: mysql_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: testdb
MYSQL_USER: user
MYSQL_PASSWORD: password
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql
volumes:
db_data:
4. Docker Compose ile Uygulamayı Çalıştırma
4.1. Docker Compose Başlatma
Yukarıdaki docker-compose.yml dosyasını bir dizine kaydedin, örneğin /home/user/docker-project/docker-compose.yml
.
Sonra aşağıdaki komutu çalıştırarak konteynerleri başlatın:
cd /home/user/docker-project
sudo docker-compose up -d
Bu komut, arka planda (detached mode) çalıştırma işlemini başlatır.
4.2. Çalışan Konteynerleri Kontrol Etme
Docker konteynerlerinin çalışıp çalışmadığını kontrol edin:
sudo docker ps
Eğer her şey doğruysa, nginx_server ve mysql_db adlı iki konteyner çalışıyor olmalıdır.
4.3. Servisleri Durdurma ve Silme
Konteynerleri durdurmak için:
sudo docker-compose down
Eğer konteynerleri tamamen silmek istiyorsanız:
sudo docker-compose down --volumes
Sonuç
Bu yazıda, Debian 12 ve Ubuntu 24.04 üzerinde Docker’ın nasıl kurulacağını, Docker Compose’un nasıl yapılandırılacağını ve Nginx ile MySQL içeren bir docker-compose.yml dosyasının nasıl çalıştırılacağını öğrendik. Docker, uygulamalarınızı izole çalıştırmak ve yönetmek için harika bir araçtır ve özellikle geliştiriciler ve sistem yöneticileri için büyük kolaylık sağlar.
Eğer Docker ile ilgili sorularınız varsa, yorumlarda paylaşabilirsiniz! 🚀