🐳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>'yi docker 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

© 2024 ~ Yunus Emre Ak ~ yEmreAk