Docker, uygulamaları hemen hemen her yerde çalıştırılabilen taşınabilir konteynerler olarak hızla oluşturmanıza, test etmenize ve dağıtmanıza olanak tanıyan açık kaynaklı bir konteynerleştirme platformudur. Bir konteyner, tek bir uygulama için bir çalışma zamanını temsil eder ve yazılımın çalışması için gereken her şeyi içerir. Docker, modern yazılım geliştirmenin ve DevOps sürekli entegrasyon ve dağıtım işlem hatlarının ayrılmaz bir parçasıdır. Bu makalemde, Docker’ın en güncel sürümünü, Ubuntu Server 20.04 işletim sistemi üzerine kurulumunu açıklıyor olacağım.
Docker, standart Ubuntu 20.04 repositoriy’lerde kurulabilir, ancak her zaman en son sürüm olmayabilir. Bu makalemde resmi Docker’ın depolarından en son paketini yükleyeceğiz.
Sunucunuz üzerinde daha önceden kurulu docker uygulaması var ise kaldırılması için aşağıdaki komutu çalıştırınız.
apt-get remove docker docker-engine docker.io containerd runc
İlk olarak aşağıdaki komutları kullanarak işletim sisteminizi güncelleyiniz.
apt update
apt upgrade
apt paket dizinini güncelleyiniz ve apt’nin HTTPS üzerinden bir depo kullanmasına izin vermek için paketleri yükleyiniz. Bu işlem için aşağıdaki komutu kullanabilirsiniz.
apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
- apt-transport-https: paket yöneticisinin parçaları ve verileri https üzerinden aktarmasına izin verir.
- ca-certificates: web tarayıcısının ve sistemin güvenlik sertifikalarını kontrol etmesini sağlar.
- curl: verileri aktarır
- software-properties-common: yazılımı yönetmek için komut dosyalarını ekler.
Docker’ın resmi GPG anahtarını ekleyiniz. curl aracı ile GPG anahtarını komut içerisine aktarınız. Bu işlem için aşağıdaki komutu kullanabilirsiniz.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Fingerprint’in son 8 karakterini aratarak, fingerprint in 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 anahtarına sahip olup/olmadığını doğrulayınız. Bu işlem için aşağıdaki komutu kullanabilirsiniz.
apt-key fingerprint 0EBFCD88
curl aracı ile Docker apt deposunu eklemek için aşağıdaki komutu kullanabilirsiniz.
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
Docker kurulumunu başlatmak için aşağıdaki komutu kullanabilirsiniz.
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io
Not: Docker Engine’in belirli bir sürümünü yüklemek için depoda mevcut sürümleri listeleyin, ardından seçin ve kurunuz. Öncelikle repoistory’nizde bulunan sürümleri listeleyiniz. Bu işlem için; “apt-cache madison docker-ce” komutunu kullanabilirsiniz.
Daha sonra; ikinci sütundaki sürüm dizesini kullanarak belirli bir sürümü kurunuz. Örneğin; 5:19.03.13~3-0~ubuntu-fecal gibi. Bu işlem için de aşağıdaki komutu kullanabilirsiniz.
apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
Docker kurulumu tamamlandıktan sonra docker servisinin başlatılması ve sunucu yeniden başlatıldıktan sonra başlatılması için aşağıdaki komutları çalıştırınız.
systemctl status docker
systemctl enable docker
systemctl start docker
systemctl status docker
Varsayılan olarak docker komutu, yalnızca root kullanıcı veya Docker’ın kurulum işlemi sırasında otomatik olarak oluşturulan docker grubundaki bir kullanıcı tarafından çalıştırılabilir. Docker komutunu sudo önekini eklemeden veya docker grubunda olmadan çalıştırmayı denerseniz, aşağıdaki gibi bir çıktı alırsınız:
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.
See ‘docker run –help’.
Docker komutunu her çalıştırdığınızda sudo yazmaktan kaçınmak istiyorsanız, kullanıcı adınızı docker grubuna ekleyiniz bu işlem için aşağıdaki komutu kullanabilirsiniz.
sudo usermod -aG docker ${USER}
Yapılan bu değişkliğin uygulanması için; sunucudan çıkıp tekrar oturum açın veya aşağıdaki komutu kullanabilirsiniz.
su - ${USER}
Kullanıcınızın artık docker grubuna eklendiğini şunu yazarak onaylayınız.
id -NG
# Docker sürümün kontrol ediniz.
docker version
docker-engine servisinin çalışıp/çalışmadığını kontrol etmek için hello-world uygulaması ile test yapabilirsiniz.
docker run hello-world