Linux Lab Ortamı 01 - Linux Server Docker Kurulumu

Aykut ÖZKAN
4 min readJan 28, 2024

--

Image Source : https://logos-world.net/docker-logo/
Docker

Merhabalar,

Bu yazımız bir önceki yazımızın ilk konusu olan linux server üzerine docker kurulumuna ait bilgileri anlatmaktadır.

Yazı dizimiz boyunca elimden geldiğince programları detaylı olarak anlatmak yerine, programlar/araçlar hakkında kısa bilgiler paylaşıp ana konumuz olan kurulum ve konfigürasyon konularına odaklanacak ve içeriği sizin için olabildiğince kısa tutmaya çalışacağım. Şimdi den faydalı olması dileğiyle…

Eğer daha önce bir docker kurulumu yaptıysanız veya hali hazırda docker’ı aktif olarak kullanabiliyorsanız, bu yazı sizin için uygun olmayabilir.

Docker Nedir?

Docker en basit ifade ile; bir işletim sistemi üzerinde, birden fazla işletim sistemi imajı çalıştırabileceğimiz, çalışma şekli olarak sanal bilgisayar kurulumlarından farklı olan, Linux çekirdeğinde bulunan sanallaştırma teknolojini kullanan container yazılımıdır.

Sanallaştırmadan farkı ise, sanal işletim sistemleri kurduğumuzda bir işletim sistemi için gerekli olan tüm yapının kurulması ve kullanılan donanım ihtiyacanın fazla olması iken, docker tarafında linux bir işletim sistemi kernel’ı üzerinde sanal işletim sistemleri için gerekli olacak kullanıcıya özel olan alanları ayırarak aslında birden çok işletim sisteminin merkezi kernel yapısını izole şekilde kullanıyor olması diyerek kısaca açıklayabiliriz. Böylelikle sadece yeni kurulumlarda kullanıcı için gerekli olacak dosya yapısı oluşturularak geriye kalan kernel yapısı ana işletim sistemi tarafından simüle edilmektedir. Bu da kullanılacak işletim sistemi imajına bağlı olarak 25 MB dan başlayıp GB seviyesine kadar değişkenlik göstermektedir.

Örneğin; Alpine linux, docker üzerinde sadece 5–10 mb yer kaplamaktadır. Ubuntu dağıtımlarında ise, içerisindeki kurulu paket ve programlara göre 500–750 MB arasında değişkenlik göstermektedir.

Sonuç olarak ortalama bir linux dağıtımı kurulumu için 4–5 GB hdd, 1 GB ram ve işlemci gerekirken, docker için sadece kullanılacak iso dosyasına bağlı olarak 5 ila 750 MB arasında ve minimum donanıma ihtiyacımız bulunmaktadır. Tabi kurulumlar sırasında elde ettiğimiz zaman tasarrufu ise ekstra bir artı. Çünkü ilgili imaj daha önce docker’a indirildiyse sadece bir kaç sn içerisinde container’larımız çalışır hale gelecektir.

Öncelikle tüm kurulum işlemleri bir linux dağıtımı olan ubuntu işletim sistemi baz alınarak hazırlanmış olup, aynı komutlar çok büyük bir olasılıkla başka debian işletim sistemi dağıtımları için de geçerli olacaktır.

Ubuntu Linux Server’a Docker Kurulumu

Öncelikle ilgili sunucumuza bir ssh bağlantısı yaparak sunucumuza erişim sağlamamız gerekmektedir. Bunun için windows işletim sistemlerinde Putty, MobaXterm gibi araçları kullanabilir veya linux, macOs gibi işletim sistemlerinde doğrudan terminal üzerinde aşağıdaki komutu kullanarak ssh bağlantısını gerçekleştirebilirsiniz.

ssh kullaniciAdi@sunucu_ip_adresi
# kullanıcı adı ve ip adresiniz doğru ise sizden kullanıcıya ait
# şifre bilgisini girmeniz istenecektir. Burada gireceğiniz karakterler
# ekranda görünmeyecek olup, şifreyi girdikten sonra Enter tuşuna basınız.

Sunucumuza bağlandıktan sonra docker kurulumu için öncelikle aşağıdaki komutu çalıştırarak sistem üzerinde kurulumu engelleyecek veya çakışmalara neden olabilecek paket veya paketlerin kontrol edilerek silinmesini sağlıyoruz.

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

Şimdi ise docker yazılımını kurabilmek için gerekli olan repository (depo) bilgisinin işletim sistemine tanıtılması gerekmektedir. Bunun için aşağıdaki komutları sırası ile komut satırında çalıştırmalıyız.

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Yukarıdaki komutlar çalıştırılırken herhangi bir hata ile karşılaşmadıysanız şimdi kurulum için gerekli olan aşağıdaki komutu çalıştırabilirsiniz.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Bu işlem sırasında ekrana kurulum için “yes/no” şeklinde sizden ona isteyen bir çıktı geldiyse lütfen klavyeden “y + enter” tuş kombinasyonuna sırası ile basınız.

Bu aşama sorunsuz gerçekleştiyse artık yapmış olduğumuz kurulumu kontrol edebiliriz. Kontrol için komut satırına aşağıdaki komutu yazıp çalıştırabilirsiniz.

sudo docker run hello-world

Yukarıdaki komuta ait örnek çıktı aşağıdaki gibidir.

$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
c1ec31eb5944: Pull complete
Digest: sha256:4bd78111b6914a99dbc560e6a20eab57ff6655aea4a80c50b0c5491968cbc2e6
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

Eğer buraya kadar sorunsuz geldiyseniz ve son aşamada yukarıdaki gibi bir çıktı elde ettiyseniz tebrikler, docker kurulumunu tamamladınız demektir.

Bir sonraki yazımız olan docker üzerine PowerDNS kurulumu yazımızda görüşmek üzere.

Keyifli okumalar dilerim…

--

--