🐳Docker
Programların kendi işletim sistemimizden bağımsız olarak çalışabilmesini sağlayan bir sistemdir
🔰 Docker'a Giriş
😫 Uygulamaları kendi PC'ne kurmak, kaldırmak, hatalarıyla veya artıklarıyla uğraşmak istemiyorsan, doğru konumdasın :)
🌍 Docker'ın ana sayfası için buraya tıklayabilirsin
🧙♂️ Bu yazının kaynağı için buraya bakabilirsin
❔ Nedir ve Neden Kullanmalıyım?
Benim Makinemde Çalışıyor (Works on my Machine) Problemine Çözüm Sağlaması
Geliştirme Ortamı Standardizasyonu (Eşitlik) Sağlaması
Test ve Entegrasyon Ortamı Kurulumu ve Yönetimini Kolaylaştırması
Mikroservis Mimari için Kolay ve Hızlı Bir Şekilde Kullanıma Hazır Hale Getirilebilmesi
Kaynakların Etkili ve Efektif Bir Biçimde Kullanılmasını Sağlaması
Multitenant Sistemlerde Tenancy Mantığını Uygulama Seviyesinden Çıkarmayı Sağlaması
Vm teknolojisi gibi birden fazla kernel kullanmak yerine tek bir kernel yapısında birden fazla uygulama çalıştırmayı sağlar.
Tüm bu işlemler
image
adı verilen yüklemelerle olmakta.Image
'lerin diğer artısı da normal program kurulumları gibi yüksek yer kaplamamakta ve docker'ıa özel optimize edilmiş haldedirler. (Daha az performans ister)
Tüm bunlara ek olarak kod paylaşımları hususunda da oldukça faydalıdır.
Kod'un docker ortamında çalışabilir olması docker yüklü diğer bilgisayarda da çalışabilir olacağı anlamına gelir.
Kolay kaldırılabilir.
Docker üzerinden
image
'leri silmeniz durumunda uygulama ve ona bağlı olan her şey silineceltir. (Kendi bilgisayarımızda kaldırma işlemi sonucunda ardında artık dosya bırakmaktadır.)
🕵️ Nasıl Öğrenirim
Buraya tıklayarak resmi dökümantasyonuna bakabilirsin.
Docker olayını özetleyen video için buraya tıklayabilirsin.
Docker'ı detaylı anlatan Türkçe blog için buraya tıklayabilirsin. 👈 Tavsiye
🤸 Kısa Özet
Docker Cheet Sheats'e bakmanda fayda var.
👨💻 Kullanım
⭐ Temel İşlemler
Docker'dan Image çekme
docker pull <image_ismi>
Image'leri görüntüleme
docker images
Image çalıştırma (Image ile container oluşturma)
docker run <image_ismi>
docker run -p <host_port>:<conotainer_port> <image_ismi>
İmage'i çalıştırıp htttps:localhost:'unu, container'ın 'una bağlama.
docker run -p 8080:80 nginx
💡 Eğer image yüklü değilse otomatik indirir!
📂 Conteiner İşlemleri
Çalışan containerları gösterme
docker ps
docker ps -a
Oluşturulan container'ı yeniden çalıştırma
docker start <container_id>
<container_id>
'yidocker ps -a
ile bulabilirsiniz.
docker start -a <container-id>
Terminale ekleyerek başlatma. (I/O girişi ile kontrol edebiliriz.)
Container kayıtlarını görüntüleme (loglar)
docker logs <container_id>
Container silme
docker rm <container-id>
docker rm -f <container-id>
Çalışır halde bile olsa silme (Forging)
Container üzerinde uygulama çalıştırma
docker exec <options> <container_id> <path>
docker exec -it <container_id> /bin/bash
-i
interactive terminal demek-t
terminale bağlamak demek (attach)-d
bağlamadan çalıştır demek (deattach)Container üzerinde çalışan işlemleri (process'leri) gösterme
ps -ef
Dosyayı terminale basma
more <path>
more /etc/nginx/nginx.conf
more /etc/nginx/conf.d/default.conf
Container'ı çıkışa zorlama
docker kill <container_id>
🖤 Tüm Docker Komutları
🔗 Harici Bağlantılar
Last updated