Docker Nedir? En Önemli Docker Komutları ve Kullanım Rehberi
Docker, uygulamaları container (konteyner) adı verilen izole ortamlarda çalıştırmayı sağlayan modern bir platformdur. Bu rehberde Docker nedir, Docker nasıl kurulur (Ubuntu) ve geliştiricilerin en sık kullandığı Docker komutlarını adım adım ele alıyoruz.
Docker Nedir?
Docker, uygulamaları ve bağımlılıklarını birlikte paketleyerek farklı ortamlarda (development, test, production) aynı şekilde çalıştırılmasını sağlayan açık kaynaklı bir container platformudur.
Docker sayesinde:
- Ortam bağımlılığı ortadan kalkar
- CI/CD süreçleri hızlanır
- Uygulama taşınabilir hale gelir
- Kaynak kullanımı optimize edilir
Docker’ın Temel Bileşenleri
- Image: Container oluşturmak için kullanılan şablon
- Container: Çalışan bir image örneği
- Layer: Image katmanları
- Registry: Image saklama alanı (Docker Hub)
- Repository: Image sürümleri
Docker Nasıl Kurulur? (Ubuntu 22.04 / 20.04)
Resmi Docker dokümantasyonu: Docker Engine Ubuntu Kurulumu
1) Eski Sürümleri Temizle
sudo apt remove docker docker-engine docker.io containerd runc
2) Gerekli Paketleri Kur
sudo apt update
sudo apt install ca-certificates curl gnupg
3) Docker GPG Anahtarını Ekle
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
4) Docker Repository Ekle
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
5) Docker Kurulumu
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
6) Kurulum Testi
sudo docker run hello-world
Docker Compose Kurulumu
Docker Compose dokümantasyonu: Docker Compose Resmi Dokümantasyon
sudo apt install docker-compose-plugin
Kontrol:
docker compose version
En Önemli Docker Komutları
Container İşlemleri
docker run -d nginx
docker ps
docker stop [container_id]
docker exec -it [container_id] bash
Image İşlemleri
docker pull nginx
docker images
docker rmi nginx
Temizlik İşlemleri
docker system prune
docker container prune
docker image prune
Dockerfile Örneği (Spring Boot)
FROM eclipse-temurin:17-jdk-alpine
WORKDIR /app
COPY target/app.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
Spring Boot projenizi dockerize etmek için detaylı rehber: Dockerfile ile Proje Dockerize Etme
Docker Kullanırken Dikkat Edilmesi Gerekenler
- Alpine tabanlı image kullanın
- Multi-stage build tercih edin
- Container içinde root çalıştırmayın
- Production’da healthcheck ekleyin
Sonuç
Docker, modern yazılım geliştirme ve DevOps süreçlerinde vazgeçilmez bir araçtır. Doğru kurulum ve doğru kullanım ile hem geliştirme hem üretim ortamında büyük avantaj sağlar.
Kubernetes ortamına taşıma rehberi için: Dockerize Ederek Kubernetes Ortamına Taşıma