2013 yılında piyasaya sürülen Docker, geliştiriciler ve DevOps mühendisleri arasında en önemli araçlardan biri haline geldi. Docker, uygulama oluşturmayı ve dağıtmayı basitleştiren açık kaynaklı bir konteynerleştirme teknolojisidir. Uygulamaların konteyner adı verilen yalıtılmış ortamlarda paketlenmesini sağlar. Bu konteynerlerin içinde, uygulamalar gerekli kütüphaneleri, bağımlılıkları ve yapılandırma dosyalarıyla birlikte gönderilir.
Serverspace, önceden yüklenmiş "Docker" uygulaması ile bir sunucu oluşturabilirsiniz.
Uygulamaların konteynerlerde dağıtılması, farklı bilgi işlem ortamlarında son derece tutarlı bir şekilde dağıtılabilmelerini sağlar. Uygulama dağıtımındaki tutarlılık, uygulamanın hangi platformlarda çalıştırılacağı konusundaki endişeleri ortadan kaldırır ve geliştiricilere kod yazmaya odaklanmaları için daha fazla zaman verir.
Bu rehberde, Ubuntu 18.04 LTS üzerinde Docker'ın nasıl kurulacağını adım adım anlatıyoruz.
Önkoşullar
Başlamadan önce aşağıdakileri kontrol ettiğinizden emin olun:
- Bir Ubuntu 18.04 LTS örneği;
- sudo veya yönetici ayrıcalıklarına sahip normal bir kullanıcı;
- Sabit bir internet bağlantısı.
Sözü fazla uzatmadan başlayalım
Ubuntu 18.04 üzerinde Docker Kurulumu
Docker Ubuntu'ya iki şekilde kurulabilir. Docker'ı Ubuntu depolarından yükleyebilir ya da Docker'ın resmi deposundan yükleyebilirsiniz. İkincisi - resmi Docker deposundan yükleme - daha çok tercih edilen seçenektir çünkü docker'ın en son sürümünü almanızı garanti eder.
Docker deposundan Docker yüklemeye başlamak için önce Ubuntu paket listesini gösterildiği gibi güncelleyin:
$ sudo apt update
Yüklü paketler listenizi güncelledikten sonra Docker kurulumu için gerekli önkoşulları yükleyin:
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
Aşağıdaki örnekte, bu önkoşullar zaten yüklenmiştir, bu nedenle sistem yüklemeyi atlayacaktır. Daha yeni bir sürüm mevcutsa, mevcut paketler yükseltilecektir.
Ardından, curl komut satırı aracını kullanarak Docker'ın GPG anahtarını gösterildiği gibi içe aktarın:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Terminalde gösterildiği gibi bir 'OK' yanıtı alacaksınız:
GPG anahtarı yerindeyken, Docker'ın deposunu gösterildiği gibi sources.list dosyasına ekleyin:
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Ubuntu'nun yeni eklenen depo ile senkronize olması için paket listesini güncelleyin:
$ sudo apt update
Bu noktada, artık APT paket yöneticisini kullanarak Docker'ı kurmaya hazırsınız. Ancak, bunu yapmadan önce, indirilebilecek çeşitli docker paket sürümlerine bir göz atmak isteyebilirsiniz. Docker paketlerinin bir listesini yazdırmak için şu komutu çalıştırın:
$ apt list -a docker-ce
Docker paketlerinin listesi, aşağıdaki çıktıda gösterildiği gibi en sondan en eskiye doğru sıralanır.
Docker'ın belirli bir sürümünü, örneğin 19.03.7 sürümünü yüklemek için komutu çalıştırın:
$ sudo apt install docker-ce=5.19.03.7~3-0~ubuntu-bionic
Ancak, en son sürümü yüklemek istiyorsanız, komutu çalıştırmanız yeterlidir:
$ sudo apt install docker-ce
Devam etmeniz istendiğinde, sadece ‘Y’ tuşuna basın ve ENTER tuşuna basın. Kurulduktan sonra, çalıştırarak Docker'ın durumunu kontrol edin:
$ sudo systemctl status docker
Çıktı, Docker'ın çalışır durumda olduğunu onaylar. Yüklü Docker sürümünü kontrol etmek için şu komutu çalıştırın:
$ docker --version
Beklendiği gibi, en son sürüm - bu kılavuzun yazıldığı sırada - kurulmuştur. Docker'ın doğru yüklendiğini doğrulamak için hello-world konteynerini çalıştırın:
$ sudo docker container run hello-world
Komut birkaç işlemi başlatır. İlk olarak, Docker imajları için bir depo olan Docker hub'dan bir test imajı çeker. (İmajları bir sonraki bölümde tartışacağız). İmaj başarıyla indirildikten sonra, 'Hello from Docker !' mesajını görüntüleyen uygulamayı çalıştıran imajdan bir konteyner oluşturulur.
Docker Görüntüleri
Docker imajı, bir uygulama ile birlikte ikili dosyaları, kütüphaneleri, bağımlılıkları ve uygulamayı başarılı bir şekilde çalıştırmak için gereken gerekli talimatları içeren salt okunur ikili bir dosyadır.
Docker görüntüleri, bulut tabanlı bir kütüphane veya depo olan Docker hub üzerinde barındırılır. Docker hub, açık kaynak projelerinden ve diğer yazılım satıcılarından binlerce görüntüye erişmenizi sağlar.
Docker görüntüsü arama
Docker'dan bir görüntü aramak için sözdizimini kullanın:
$ sudo docker search image
Örneğin Nginx imajını aramak için komutu çalıştırın:
$ sudo docker search nginx
Aşağıdaki tabloda gösterildiği gibi, çıktı, görüntü adı, görüntünün kısa bir açıklaması ve üçüncü sütunda 'Stars' olarak belirtilen popülerliği gibi görüntü hakkında bilgiler içerir.
Docker görüntüsünü indirme
Docker hub'dan yerel sisteminize bir docker görüntüsü indirmek için gösterilen komutu kullanın:
$ sudo docker pull image
Örneğin, Nginx imajını indirmek için şu komutu çalıştırın:
$ sudo docker pull nginx
Genellikle docker imajları etiketlenir ve sürüm numaraları taşır. Bir imajı indirirken daha spesifik olmak için etiketi aşağıdaki gibi belirtebilirsiniz:
$ sudo docker pull image:tag
Bir Ubuntu 20.04 imajı indirmek istediğinizi varsayalım. İmajı indirmek için komut şöyle olacaktır:
$ sudo docker pull ubuntu:20.04
Sisteminize indirilen görüntüleri listelemek için komutu çalıştırın:
$ sudo docker images
Çıktı, görüntülerin deposu, görüntü etiketi, görüntü kimliği, görüntünün ne kadar süre önce oluşturulduğu ve görüntünün boyutu gibi bilgileri gösteren 5 sütunlu bir tablo biçiminde düzenlenmiştir.
Bir Docker görüntüsünü kaldırmak için şu komutu çalıştırın:
$ sudo docker image rm ubuntu:20.04
Docker konteynerleri
Bir docker konteyneri, bir docker görüntüsünün çalışma zamanı örneğidir. Bir Docker konteynerinde bir uygulama, kütüphaneleri ve bağımlılıkları ile birlikte paketlenir.
Daha önce indirdiğimiz Ubuntu imajına dayalı bir docker konteyneri başlatmak için komutu çalıştırın:
$ sudo docker container run ubuntu:20.04
İlk bakışta, gerçekten hiçbir şey olmamış gibi görünebilir, ancak bu gerçeklerden uzaktır. Ubuntu konteyneri, kendisine hiçbir komut vermediğimiz için hemen başladı ve durdu.
Bir işletim sistemi konteynerini daha etkili bir şekilde çalıştırmak için, bash kabuğuna erişmek ve onunla etkileşim kurmak için -it argümanlarını kullanın:
$ sudo docker container run -it ubuntu:20.04
Komutu çalıştırdığınızda, komutları gerçek bir Ubuntu 20.04 örneğinde çalıştırıyormuş gibi çalıştırmanıza izin veren bir bash kabuk istemi almalısınız.
Docker kapsayıcılarını listeleme
Çalışan Docker konteynerlerinin bir listesini görüntülemek için şu komutu kullanın:
$ sudo docker container ls
$ sudo docker ps
Çıktı size konteyner kimliği, imaj adı, konteynerin en son ne zaman oluşturulduğu ve durum gibi istatistikler verir. Çıktıdan sadece Nginx konteynerinin çalıştığını görebiliyoruz.
Aktif ve hareketsiz tüm konteynerleri görüntülemek için şu komutu çalıştırın:
$ sudo docker container ls -a
veya
$ sudo docker ps -a
Çıktı, etkin olmayan 4 konteyner daha yazdırır.
Docker kapsayıcılarını başlatma ve durdurma
Bir Docker konteynerini başlatmak için, konteyner adını veya konteyner kimliğini kullanarak docker start komutunu kullanın.
Örneğin, Ubuntu konteynerini başlatmak için çalıştırın:
$ sudo docker start c28e836e7fbf
Bir Docker konteynerini durdurmak için, yine docker stop komutunu kullanarak konteyner adını veya konteyner kimliğini kullanmaktan çekinmeyin:
$ sudo docker stop c28e836e7fbf
Docker konteynerini kaldırma
Bir docker konteynerini kaldırmak için docker rm komutunu kullanın. Bir kez daha konteyner adını veya konteyner kimliğini kullanmaktan çekinmeyin:
$ sudo docker rm c28e836e7fbf
Sonuç
Bu rehberde, Ubuntu 18.04 üzerinde Docker'ın nasıl kurulacağını öğrendiniz. Ayrıca, sisteminizdeki Docker imajlarını ve konteynerlerini nasıl yönetebileceğinize dair kullanışlı ipuçları verdik. Bu rehberin bilgilendirici olduğunu umuyoruz.