Türkçe
€EUR
Konteynerler

Docker

Infrawire yükleyicisiyle uyumlu

Resmi depodan kurulmuş Docker Engine ve Compose, kullanıma hazır

Minimum gereksinimler
  • 1 GB RAM
Geliştirici
Docker, Inc.
Sürüm
En son kararlı sürüm
Lisans
Apache 2.0
Sistemler
Debian 12, Debian 13, Ubuntu 20.04, Ubuntu 22.04, Ubuntu 24.04

Docker hakkında

Docker bir konteyner motorudur: uygulamayı ve bağımlılıklarını bir imaj içinde paketler, ardından ana makinenin çekirdeği üzerinde yalıtılmış biçimde çalıştırır. Geliştiriciler yerelde ve üretimde aynı ortamı elde etmek için kullanır. Küçük ekipler ise tek bir makinede birden fazla servisi, bağımlılıkları birbirini bozmadan barındırmak için tercih eder.

Teslimatta Linux VPS'inizde (Debian 12, Debian 13, Ubuntu 22.04 veya 24.04, ayrıca aşağıda belirtilen çekincelerle Ubuntu 20.04) Docker'ın resmi apt deposundan kurulmuş Docker Engine bulunur. docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin ve docker-compose-plugin paketleri yerindedir; docker ve containerd servisleri açılışta başlayacak şekilde etkinleştirilmiştir.

Depo imza anahtarı, kurulumdan önce parmak iziyle doğrulanır. Kurulum betiğinin sonunda bir hello-world konteyneri çalıştırılarak daemon'ın yanıt verdiği teyit edilir. Sonrasında sunucu size aittir: varsayılan olarak hiçbir kullanıcı docker grubuna eklenmez ve sizin adınıza hiçbir uygulama dağıtılmaz.

Docker ile neler yapabilirsiniz

  • Docker'ın resmi apt deposu

    Paketler download.docker.com adresinden gelir ve imza anahtarının parmak izi kontrol edilir. Güncellemeler, sistemin geri kalanında olduğu gibi apt üzerinden yapılır.

  • Compose ve Buildx dahil

    Compose eklentisi docker compose (tiresiz) olarak kullanılır, Buildx ise imajlarınızı derlemek içindir. İlk bağlantıdan itibaren çok servisli bir stack dağıtabilirsiniz.

  • Hazır log döndürme ayarı

    /etc/docker/daemon.json yoksa betik onu json-file sürücüsü, dosya başına 10 MB ve en fazla 3 dosya olacak şekilde yazar. Konteyner logları diski fark ettirmeden doldurmaz.

  • Çakışan paketler kaldırılır

    docker.io, podman-docker, containerd veya runc gibi resmi olmayan paketler kurulumdan önce silinir. Böylece daemon'ın çalışmasını bozan sürüm karışıklıkları önlenir.

  • Root eşdeğeri erişim sizde

    Root erişimine denk olan docker grubuna hiçbir hesap eklenmez. Bu yetkiyi kimin alacağına siz karar verirsiniz.

  • Okunabilir kurulum günlüğü

    Her adım /var/log/docker-install.log dosyasına yazılır; /var/lib/docker-install.done dosyası ise betiğin sonuna kadar çalıştığını doğrular.

Docker ile başlayın

Siparişten canlıya birkaç dakikada.

  1. 1

    Docker seçili olarak VPS sipariş edin

    Paris veya Frankfurt'ta bir Linux VPS seçin, Debian 12, Debian 13, Ubuntu 22.04 veya 24.04 sürümlerinden birini belirleyin ve sipariş formundaki "Uygulamalar" sekmesinde Docker'ı işaretleyin.

  2. 2

    Bağlanın ve kurulumu doğrulayın

    Sunucu teslim edildiğinde size iletilen bilgilerle SSH üzerinden bağlanın. Kurulum ilk açılışta çalışır: işaret dosyası henüz yoksa biraz bekleyin ve günlüğü izleyin.

    Bash
    ssh USER@SERVER_IP cat /var/lib/docker-install.done tail -n 20 /var/log/docker-install.log
  3. 3

    İlk konteynerinizi çalıştırın

    Sürümleri kontrol edin, ardından bir test web sunucusu başlatın. Port yalnızca 127.0.0.1 üzerinde yayımlanır; yani siz test ederken internete açılmaz.

    Bash
    docker --version && docker compose version docker run -d --name web -p 127.0.0.1:8080:80 nginx curl -I http://127.0.0.1:8080
  4. 4

    Üretimden önce güvenliği sağlayın

    Servislerinizin önüne bir reverse proxy (Caddy, Traefik veya Nginx) koyarak YOUR_DOMAIN alan adını HTTPS ile sunun ve internete yalnızca 80 ile 443 portlarını açın. Docker'ın yayımladığı portlar ufw kurallarını atladığı için diğer portları 127.0.0.1 üzerinde tutun. Son olarak volume'larınızı ve compose dosyalarınızı yedekleyin.

    Bash
    docker volume ls docker compose up -d

Docker kullanım alanları

  • Yalıtılmış birden çok servis barındırma

    Bir PostgreSQL veritabanı, bir web uygulaması ve bir izleme aracı, tek bir compose.yaml dosyasında tanımlanıp her biri kendi konteynerinde çalışır. Bunları birbirinden bağımsız olarak güncelleyebilir veya yeniden başlatabilirsiniz.

  • Kendi sunucunuzda uygulama çalıştırma

    n8n, Nextcloud, Gitea, Uptime Kuma gibi pek çok açık kaynak proje bir Docker imajı ve örnek bir Compose dosyası yayımlar. VPS, ek hazırlık gerektirmeden bunları karşılamaya hazırdır.

  • İmaj derleme ve test etme

    Buildx ile imajlarınızı çalışma bilgisayarınızı yormadan, ayrı bir uzak makinede derleyebilirsiniz. Hafif bir CI hattı veya entegrasyon testleri için kullanışlıdır.

  • Üretimi test ortamında yeniden kurma

    Aynı Docker sürümüne ve aynı Compose dosyalarına sahip ikinci bir VPS, düşük yönetim yüküyle üretime yakın bir kabul test ortamı sağlar.

Docker hakkında sık sorulan sorular

Betik, Docker'ın resmi apt deposundan docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin ve docker-compose-plugin paketlerini kurar. docker ve containerd servisleri açılışta başlayacak şekilde etkinleştirilir. Compose v2 ile komut docker-compose değil, docker compose biçimindedir.

Docker hakkında daha fazlası

Güvenlik duvarı ve yayımlanan portlar

En sık düşülen tuzak budur. -p 8080:80 ile bir port yayımladığınızda Docker kendi iptables kurallarını yazar ve trafik ufw ya da firewalld kurallarından önce işlenir. Dolayısıyla ufw deny 8080 hiçbir şeyi engellemez.

İki güvenilir yaklaşım var: portu yerel arayüze bağlayıp (-p 127.0.0.1:8080:80) servisi bir reverse proxy üzerinden sunmak ya da Docker'ın kendi kurallarından önce baktığı DOCKER-USER zincirinde filtreleme yapmak. İlki daha basittir ve çoğu durumda yeterlidir.

docker grubu ve sudo

docker grubuna üye olmak, makinede root yetkisine sahip olmakla aynı anlama gelir: bir konteyner ana makinenin dosya sistemini bağlayabilir. Kurulum betiği bu gruba kimseyi eklemez. Ayrıcalıksız bir hesapla çalışmak istiyorsanız hesabı kendiniz ekleyin, ardından oturumu kapatıp yeniden bağlanın.

Bash
sudo usermod -aG docker USER

Konteyner günlükleri

Teslimatta yazılan /etc/docker/daemon.json dosyası her konteyneri 10 MB'lık 3 dosyayla sınırlar. Dosya yalnızca daha önce yoksa oluşturulur. Değerleri değiştirmek için dosyayı düzenleyin ve daemon'ı yeniden başlatın. Yeni ayarlar yalnızca yeniden başlatmadan sonra oluşturulan konteynerlere uygulanır.

Bash
sudo systemctl restart docker

Güncellemeler

Docker deposu /etc/apt/sources.list.d/docker.sources dosyasında tanımlıdır. Yeni sürümler bu yüzden olağan apt güncellemeleriyle gelir. live-restore seçeneği etkin değilse daemon'ın yeniden başlaması konteynerlerinizi kesebileceğinden, güncellemeleri bunun kabul edilebilir olduğu bir zamana planlayın.

Bash
sudo apt update && sudo apt install --only-upgrade docker-ce docker-ce-cli containerd.io

Ubuntu 20.04

Docker, Ubuntu 20.04'ü artık resmi olarak desteklemiyor. Yine de Docker deposu bu sürümü hâlâ yayımlıyorsa betik kurulumu dener ve günlüğe bir uyarı yazar. Üretim sunucusu için desteklenen Ubuntu 22.04, Ubuntu 24.04, Debian 12 veya Debian 13 sürümlerini tercih edin.

Yedekler

İmajlar yeniden indirilebilir, verileriniz indirilemez. Adlandırılmış volume'ları, bağlanan dizinleri ve ortam değişkenleriyle birlikte compose.yaml dosyalarınızı yedekleyin. Veritabanlarında çalışırken volume kopyalamak yerine mantıksal dışa aktarmayı (pg_dump, mysqldump) tercih edin.

En yeni teklifler, indirimler ve özel promosyonlardan haberdar olun.

Promosyonları gör

Çerez kullanıyoruz

Sitemizdeki deneyiminizi iyileştirmek için analiz çerezleri kullanıyoruz. Hiçbir veri üçüncü taraflara satılmaz. Daha fazlasını şurada öğrenin: gizlilik politikası.