Docker, basitçe sistemciler ve yazılım geliştiricilerin kullanımı için geliştirilmiş açık kaynağa sahip sanallaştırma platformudur. Docker kurulumu basit şekilde yapılan, web sistemlerinin dağıtımını, kurulumunu ve testini gerçekleştirme işini yapan bir sistemdir. Docker kullanarak Linux ve Windows sanal conteinerları yani makinelerini Linux, Windows ve MacOSX üzerinde çalıştırılmaktadır.
Docker sanal bir makineden farklıdır. Tamamıyla bir sanal iletişim sistemi oluşturmaz. Bunun yerine Linux çekirdeğini paylaşır ve birbirlerinden izole şekilde sistemin kullanılmasını sağlar. Docker kurulumu gerçekleştirilmeden bir sistemin yürütülmesi oldukça zordur fakat docker sayesinde bu işlemler saniyeler içerisinde gerçekleştirilebilmektedir.
Docker Linux Kernel’e elenen Linux Conreiners yani LXC üzerine kurulu bir teknolojidir. Docker temel prensipte mevcut Bi işletim sistemi üzerinde container oluşturur ve oluşturulan container uygulama dağıtımını otomatik hale getirmek amacıyla Linux çekirdeğinin sahip olduğu özellikleri kullanan container engine olarak çalışır.
Docker Linux tabanlı bir işletim sistemine ihtiyaç duymaktadır çünkü Linux kerneli üzerinde çalışmaktadır. Docker kurulumu Mac ve Windows üzerine sağlandığında docker kendisine sanal bir sunucu kurmaktadır ve eylemlerini bu sunucu üzerinde gerçekleştirmektedir. Bu da içerisindeki bazı dosyalara erişme imkânını ortadan kaldırmaktadır. Ancak Linux üzerinde yürütme gerçekleştiğinde dockera tam anlamıyla hâkim olunur.
Docker Özellikleri
Docker’ın en önemli özelliklerinden biri oldukça kolay çalışmasıdır. Bu kolay çalışma prensibini ise Hypervisor kullanmıyor oluşu sağlamaktadır. Aynı zamanda tam yüklü bir işletim sistemi de kullanmaması ve konak sisteme yakın çalışıyor olması dockerın saniyeler içinde çalıştırır.
Bir diğer özelliği versiyonlayabilme özelliğidir. Docker kullanılan işletim sistemlerinin sahip olduğu imajların farklı versiyonlarını kayıt altında tutar. Bu sayede hazırlanan imajlar kullanıcılar arasında rahat bir şekilde paylaşılabilir. Docker paylaşılabilirlik noktasında da kullanıcılara kullanım kolaylığı sağlamaktadır. Docker dağıtıcılar veya dağıtıcılar tarafından hazırlanmış işletim sistemi imajlarının merkezi sunuculara gönderilmesine olanak sağlamaktadır. Diğer kullanıcılar da bu merkezi sunuculardan imajları elde edebilmektedir.
Dockerın bir işletim sistemi üzerinde çalışıyor olması güvenlik konusunda bazı hassasiyet alanları yaratmaktadır. Bu da kullanıcılara docker kurulumu gerçekleştirme noktasında tereddüt yaşatmaktadır. Docker bu konuda yazılımsal çözümler üretmiştir. Aynı container içerisindeki uygulamalar farklı bir containere ait uygulamaları kullanıcı izin vermedikçe asla göremez ya da etkileyemez. Yani uygulamalar tamamen izoledirler.
Docker Kurulum Adımları ve Komutları
Docker kurulumu oldukça kolay bir sistemdir. Unix, Windows, MacOS gibi sistemler için desteği bulunmaktadır. Docker komutları ise uzmanlık gerektirmeden kullanılabilir. Öncelikle docker kurulumu yapılmadan önce reponun güncellenmesi gerekmektedir.
- Daha sonra $ sudo apt-get install -y docker.io komutu kullanılarak docker kurulumu başlatılır.
- Kurulumun tamamlanıp sistemin çalıştığından emin olmak için $ sudo systemctl status docker komutu çalıştırılabilir. Komut çıktısı:
docker.service – Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Paz 2019-04-14 14:55:05 +03; 4h 42min ago
Docs: https://docs.docker.com
Main PID: 1778 (dockerd)
Tasks: 14
Memory: 116.0M
CPU: 9.358s
CGroup: /system.slice/docker.service
└─1778 /usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd
olarak görünüyorsa docker sorunsuz çalışıyor demektir.
- Komut inactive olursa yani çalışmazsa ve başlangıçtaki server kullanılmak istenirse $ sudo systemctl start docker && sudo systemctl enable docker komutu kullanılır. Bu sayede docker sudo ile çalıştırılır. Fakat mevcut kullanıcınızı docker grubuna eklediğinizde sudo komutuna da gerek kalmayacaktır.
- Bu işlemi gerçekleştirmek için de kendi kullanıcınızla şu kodu çalıştırmalısınız: $ sudo usermod -aG docker ${USER} $ su – ${USER} bu komutu kullanarak mevcut kullanıcınızı docker grubuna ekleyebilirsiniz.