Docker'ı Ubuntu'ya Kurmak (4 Kolay Yol)
Yayınlanan: 2022-12-05Docker, konteyner olarak bilinen paketlerde yazılım geliştirmek ve dağıtmak için popüler bir araçtır. Ubuntu, en popüler Linux dağıtımlarından biridir ve Docker tarafından iyi desteklenen bir işletim sistemidir.
Docker'ı Ubuntu'ya yüklemek, Ubuntu'nun işletim sistemi çekirdeğini paylaşan hafif sanal makineler kullanarak geliştirme projeleriniz için ideal bir platform oluşturur. Bu eğitim, bunu gerçekleştirmenin 4 yolunu açıklayarak başlamanıza yardımcı olacaktır.
Docker Hakkında Daha Fazla Bilgi
Docker, uygulamaları herhangi bir Docker ana bilgisayarında oluşturmanıza ve çalıştırmanıza izin vererek uygulamaları taşınabilir hale getirmeye yardımcı olur. Bir kapsayıcı görüntüsü, dizüstü bilgisayarınızdan buluta kadar Docker'ın mevcut olduğu her yerde değişiklik yapılmadan kullanılabilir. Bu, çalışma zamanı ortamları arasındaki farkları ortadan kaldırarak geliştirici deneyimini basitleştirir. Konteyner biçiminin birden çok fiziksel makineye dağıtılması da kolaydır ve bu da, değişen talebe yanıt olarak uygulamaları kolayca ölçeklendirmenize olanak tanır.
Docker, ister Docker Hub ve diğer genel kayıt defterlerinden, ister kendi Docker dosyalarınızdan olsun, kapsayıcı görüntüleri oluşturmak ve çalıştırmak için ihtiyacınız olan her şeyi içerir.
Docker'ı Ubuntu'ya Kurmaya Hazırlanma
En son Docker sürümünü Ubuntu 18.04, 20.04, 21.10 ve 22.04 sürümlerine yükleyebilirsiniz. x64_64/AMD64, ARMhf, ARM64 ve S390x mimarileri desteklenir.
Docker'ı kurmanın birkaç yolu vardır ve seçiminiz, ihtiyacınız olan işlevselliğe ve paket yönetimi için tercih ettiğiniz yaklaşıma bağlı olacaktır. Bu kılavuzda olası tüm seçenekleri öğreneceksiniz.
Bir Docker Aroması Seçmek
Linux'ta Docker, geleneksel olarak yalnızca terminaldi. Çalışan bir kurulum, konteynerlerinizi çalıştıran bir arka plan programı olan Docker Engine'den ve arka plan programı ile etkileşim için docker
komut satırı arabiriminden (CLI) oluşur.
Docker Desktop, Docker'ı kullanmanın alternatif bir yoludur. Tarihsel olarak yalnızca Windows ve Mac'te mevcuttur, Mayıs 2022'de Linux için piyasaya sürülmüştür. Ubuntu'da Docker Desktop, bir AMD64 işlemci ve Ubuntu 21.10 veya 22.04 gerektirir. Kapsayıcılarınızı yönetmek için bir grafik arayüz, entegre bir Kubernetes kümesi ve üçüncü taraf uzantılar için destek sağlar. Docker Desktop ayrıca size docker
ve Docker Compose CLI'lerini verir.
Docker Desktop, kapsayıcılarınızı çalıştırmak için bir sanal makine kullanması bakımından Docker Engine'den farklıdır (bu nedenle Windows ve MacOS kullanıcıları için Docker Desktop gereklidir). Her iki çeşidi de Ubuntu'da yan yana kullanmak mümkün olsa da, docker
CLI sürümleri arasında çelişkiler bulabilirsiniz. Birini seçip ona bağlı kalmak en iyisidir. Terminalinizde rahatsanız ve en iyi desteği ve performansı istiyorsanız Docker Engine'i seçin. Docker Desktop'ın VM'si onu biraz daha ağır hale getirir, ancak entegre bir kullanıcı arabirimi istiyorsanız veya Kubernetes kullanmayı planlıyorsanız daha iyi bir seçimdir.
Docker Engine'i Ubuntu'ya Kurmak
Docker Engine, Docker'ı Ubuntu'da çalıştırmanın standart yoludur. Yerel bir Ubuntu Masaüstü makinesinden Ubuntu Sunucusu bulut sunucunuza kadar desteklenen tüm sürümler ve ortamlarla çalışır. Devam etmeden önce 18.04 veya daha yeni bir Ubuntu sürümü çalıştırdığınızdan emin olun.
Docker Engine'in 3 farklı yükleme yöntemi vardır:
- Resmi bir Ubuntu
apt
deposu - Bağımsız bir Debian paketi (
.deb
) - Otomatik yükleme komut dosyası
Seçenek 1, Ubuntu apt
deposu en sık kullanılandır. Paket listenize Docker'ı ekler, böylece apt upgrade
çalıştırarak gelecekteki güncellemeleri kolayca yükleyebilirsiniz. Seçenek 2, otomatik güncellemeleri desteklemez, ancak Docker'ı hava boşluklu çevrimdışı sistemlere yüklemek için idealdir. Otomatik yükleme komut dosyası, başlamak için en basit yöntemdir, ancak yalnızca geliştirme amaçlı kullanım için yapılandırılmıştır. Docker, üretim ortamlarında kullanılmamasını tavsiye eder.
Bir üretim sistemiyle çalışırken, kolay güncellemeler istediğinizde veya tüm ortamlarda aynı mekanizmayı kullanmanız gerektiğinde apt
deposunu kullanın.
Kendi makinenizde Docker ile deneyler yaparken hızlı bir kurulum deneyimi istiyorsanız, otomatik kurulum komut dosyasını kullanın.
1. apt Deposunu Kullanarak Docker'ı Kurma
Docker, paketleri kendi apt
deposunda yayınlar. Bu depoyu apt
kaynakları listenize eklemeniz gerekecek, aksi takdirde apt
kurulumunuz Docker paketlerini bulamayacaktır.
Mevcut paket listenizi güncelleyerek ve aşağıdaki adımlar için bazı bağımlılıklar kurarak başlayın. ca-certificates
, curl
, gnupg
ve lsb_release
araçları, sisteminiz için doğru Docker apt
deposu ayrıntılarını ve imzalama anahtarını indirmek için kullanılacaktır. Muhtemelen bu paketlere zaten sahip olsanız da, kullanılabilir olduklarından emin olmanız zarar vermez.
$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release
Ardından, Docker'ın GPG anahtarlığını apt ile kaydedin. Bu, apt
yüklediğiniz Docker paketlerini doğrulamasını sağlar.
$ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg
curl
komutu, Docker'ın Ubuntu için GPG anahtarını indirir, onu tekrar standart OpenGPG kodlamasına dönüştürür ve apt'nin anahtarlık dizinine kaydeder. apt
onu güvenilir bir şekilde algılaması için anahtarlık dosyasındaki izinleri ayarlamak için chmod
kullanılır.
Artık Docker paket kaynağını sisteminize ekleyebilirsiniz. Aşağıdaki komutu çalıştırın:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Bu, sisteminizin AMD64 veya ARM64 gibi mimarisini otomatik olarak algılamak ve uygun paket listesini indirmek için kabuk değiştirmeyi kullanır. Daha önce eklenen GPG anahtarı kullanılarak doğrulanacaktır. Depo, apt /etc/apt/sources.list.d directory.
apt
Docker paketlerinin var olduğunu bilmesi için paket listelerinizi tekrar güncelleyin:
$ sudo apt update
Artık Docker'ın bileşenlerini sisteminize eklemek için apt install
komutunu kullanabilirsiniz. Docker Community Edition'ın (CE) en son sürümünü yükleyeceksiniz. Kurulacak üç paket vardır:
-
docker-ce
: Docker Engine arka plan programı. -
docker-ce-cli
: etkileşimde bulunacağınız Docker CLI. -
containerd.io
: Container'larınızı başlatan ve çalıştıran containerd olarak bilinen container çalışma zamanı.
$ sudo apt install docker-ce docker-ce-cli containerd.io
2. Debian Paketini Kullanarak Docker Kurulumu
Resmi .deb
paketinin kurulumu kolaydır, ancak her yeni sürümü manuel olarak indirip yüklemeniz gerekir. Paketler basit bir dosya sunucusunda barındırılır. 20.10.20 gibi mevcut en son sürüm numarasını bulmak için önce Docker'ın sürüm notları sayfasına gidin. Ardından, sürüm numarasını da kontrol etmek için containerd'ın GitHub sayfasına gidin. 1.6.8 gibi görünecek.
Artık platformunuz için doğru paket setini indirmek üzere aşağıdaki komut dizisini çalıştırabilirsiniz. <DOCKER_VERSION>
ve <CONTAINERD_VERSION>
öğelerini sırasıyla geçerli Docker ve containerd sürüm numaralarıyla değiştirin.
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb $ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb
Ayrıca tarayıcınızda Ubuntu sürümünüz için dizin listesini ziyaret ederek dosyaları indirebilir ve mevcut tüm sürümleri inceleyebilirsiniz.
Docker CE, CLI ve containerd paketlerini indirdikten sonra bunları yüklemek için aşağıdaki komutu kullanın:
$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb
Yukarıda sağlanan betiği kullanmadan paketleri manuel olarak indirdiyseniz dosya adlarını ayarlayın.
3. Yükleme Komut Dosyasını Kullanarak Docker'ı Yükleme
Docker'ın kullanışlı komut dosyası, tüm Docker bileşenlerinin kurulumunu otomatik hale getirir. Etkileşimli değildir, bu nedenle arkanıza yaslanıp sisteminiz sizin için hazırlanırken bekleyebilirsiniz.
Önce betiği indirin:
$ curl -fsSL https://get.docker.com -o get-docker.sh
Şimdi komut dosyasını kök ayrıcalıklarıyla çalıştırın:
$ sudo sh get-docker.sh Executing docker install script ...
Komut dosyası tamamlanana kadar bekleyin. Docker'ın kurulu olduğunu gösteren bir onay mesajı görmelisiniz.
Komut dosyasının, herkese uyan tek bir çözüm olması amaçlanmıştır. Komut dosyasının kaynağını doğrudan değiştirmeden ne yapacağını özelleştiremezsiniz. Ayrıca, bağımlılıkları en son sürümlerine getirmeyeceğinden, Docker güncellemelerini gerçekleştirmek için tasarlanmamıştır.
Docker Engine'in Ubuntu'da Çalıştığından Emin Olmak
Hangi yükleme yöntemini kullanırsanız kullanın, bir kapsayıcı başlatarak her şeyin çalıştığından emin olmalısınız:
$ sudo docker run hello-world
Docker istemcisinin hello-world:image
dosyasını Docker Hub deposundan makinenize çektiğini göreceksiniz:
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625 Status: Downloaded newer image for hello-world:latest
Daha sonra otomatik olarak yeni bir kapsayıcı başlayacaktır. "Merhaba dünya" başlangıç görüntüsü, Docker hakkında bazı temel bilgileri veren ve ardından hemen çıkan basit bir komutu çalıştıracak şekilde yapılandırılmıştır:
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.
Yukarıda gösterilen çıktıyı görmek, Docker'ın kullanıma hazır olduğu anlamına gelir. Arka plan programı, Docker Hub'dan hello-world:latest görüntüsünü başarıyla çekti ve onu kullanarak bir kapsayıcı başlattı. "Docker'dan Merhaba" satırından sonraki her şey, kapsayıcı içindeki işlem tarafından yayıldı.
Ubuntu'da Docker Engine İzinlerini Ayarlama
Yeni bir Docker Engine kurulumu, docker
CLI komutlarını çalıştırmak için genellikle kök ayrıcalıkları gerektirir. Her komutun önüne sudo
gerekir ki bu uygunsuzdur.
Yukarıdaki adımları kullanarak Docker Engine'i yükledikten sonra kendinizi docker
grubuna ekleyerek bu gereksinimi ortadan kaldırabilirsiniz. Bu isteğe bağlı değişiklik, CLI deneyiminizi basitleştiren, docker
komutlarını sudo
olmadan normal bir kullanıcı olarak çalıştırma izinlerini verir.
docker
kullanıcı grubunun var olduğundan emin olun:
$ sudo groupadd docker
Sonra kendinizi ekleyin:
$ sudo usermod -aG docker $USER
Daha önce sudo
ile herhangi bir docker
komutu çalıştırdıysanız, ~/.docker
dizininizdeki izinleri düzeltmeniz gerekir:
$ sudo chown $USER:$USER /home/$USER/.docker -R $ sudo chmod g+rwx $HOME/.docker -R
Bu, kendi kullanıcı hesabınızın dizindeki dosyaları okumasına ve yazmasına izin verilmesini sağlar.
Yeni grup üyeliğinizin geçerli olması için sisteminizden çıkış yapın ve tekrar giriş yapın. sudo
olmadan bir docker
komutu çalıştırmayı deneyin:
$ docker run hello-world
Bu kurulum sonrası adım, Docker on Ubuntu kurulum sürecini tamamlar. Arka plan programı zaten otomatik olarak başlayacak şekilde yapılandırılmıştır, bu nedenle manuel olarak bir hizmet kurmanız gerekmez. Gelişmiş bir yükleme yapmayı planlıyorsanız, özelleştirilmiş ağ, günlük kaydı ve birim depolama yönetiminin nasıl yapılandırılacağına ilişkin talimatlar için Docker kullanım kılavuzuna bakın.
Ubuntu Kurulumunuza Docker Compose Ekleme
Docker Compose, birden çok kapsayıcı kullanan uygulamalarla çalışmayı kolaylaştıran popüler bir Docker yardımcı aracıdır. Docker CLI, her komutla yalnızca bir kapsayıcıyı hedeflerken, docker
docker compose
, her eylemle birkaç kapsayıcı başlatabilir ve durdurabilir. Bu, ayrı ön uç, arka uç ve veritabanı hizmetlerine sahip olduğunuz sistemlerin yönetimini basitleştirir.
Docker Compose, artık docker
bir parçası olarak kullanılabilir. Docker'ı yüklemek için resmi yükleme komut dosyasını kullandığınızda Compose V2 eklentisi dahil edilir. Bu yöntemi kullandıysanız, apt
de mevcuttur:
$ sudo apt install docker-compose-plugin
Alternatif olarak, en son .deb
arşivini indirebilir ve manuel olarak kurabilirsiniz:
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-compose-plugin_2.6.0~ubuntu-focal_amd64.deb -o docker-compose-plugin.deb $ sudo apt install -i ./docker-compose-plugin.deb
docker compose version
komutunu deneyerek Compose'un çalışıp çalışmadığını kontrol edin:
$ docker compose version Docker Compose version v2.6.0
Docker Desktop'ı Ubuntu'ya Kurmak
Docker Engine yalnızca CLI deneyimiyle sınırlı olsa da Docker Desktop, kapsayıcı iş akışlarınızı basitleştirmeye yardımcı olabilecek bir grafik yönetim arabirimi, yerleşik Kubernetes desteği ve isteğe bağlı üçüncü taraf uzantılar sağlar. Kendi iş istasyonunuzda kullanım kolaylığı arıyorsanız harika bir seçimdir.
Docker Desktop'ı kurmak için önce apt
kullanarak bazı bağımlılıkları kurun:
$ sudo apt update $ sudo apt install ca-certificates curl gnupg lsb-release
Ardından, Docker'ın apt
deposunu eklemek için aşağıdaki komut dizisini çalıştırın. Docker Desktop depoya dahil edilmemiş olsa da, içindeki paketlere Desktop'ın Debian arşivi tarafından bağımlılıklar olarak başvurulur.
$ sudo mkdir -p /etc/apt/keyrings $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg $ sudo chmod a+r /etc/apt/keyrings/docker.gpg $ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null $ sudo apt update
curl
komutu, Docker'ın Ubuntu için GPG anahtarını indirir, onu tekrar standart OpenGPG kodlamasına dönüştürür ve apt
anahtarlık dizinine kaydeder. apt
onu güvenilir bir şekilde algılaması için anahtarlık dosyasındaki izinleri ayarlamak için chmod
kullanılır.
Belgelerdeki bağlantıdan Docker Desktop Debian arşivini indirin. Bu, Linux için Docker Desktop'ın en son kararlı sürümünü sağlayacaktır. İndirdiğiniz sürüm numarasını değiştirerek paketi yüklemek için apt
kullanın:
$ sudo apt install ./docker-desktop-4.11.0-amd64.deb
Docker Desktop artık uygulama başlatıcınızda görünecektir. Docker Desktop'ı başlatmak ve kullanıcı arayüzünü açmak için başlatıcınızı kullanın. Terminalinizde docker
, docker compose
ve kubectl
komutlarını da çalıştırabileceksiniz. Uygulama ayrıca kabuk tepsinize geçerli Docker Desktop durumunu gösteren ve bazı hızlı eylemler gerçekleştirmenize izin veren bir menü ekler.
Docker Desktop'ı ilk kez çalıştırdığınızda bir hizmet sözleşmesini kabul etmeniz istenecektir. Onaylıyorsanız Kabul Et düğmesine basın ve Docker Desktop sanal makinesini başlatana kadar bekleyin.
Birkaç dakika sonra pano yüklenecektir. Uzun terminal komutlarından kaçınarak popüler görüntülerden yeni kaplar oluşturmak için kısayollar sağlar.
DevKinsta: WordPress için Docker Masaüstü
Docker'ın temeli üzerine inşa edilen özel çözümler, belirli teknolojiler için daha da kolay bir deneyim sağlar. DevKinsta, WordPress sitelerinizi tamamen izole etmek ve güvenliğini sağlamak için Docker'ı kullanan WordPress temaları ve eklentileri oluşturmaya yönelik ücretsiz bir yerel geliştirme aracıdır. Sunucuları kendiniz kurmadan yeni bir WordPress projesini başlatmayı ve özelleştirmeyi hızlı ve basit hale getirir. Hazır olduğunuzda canlı sitenizi dağıtmak için doğrudan Kinsta platformuna geçebilirsiniz.
DevKinsta'yı MacOS, Windows ve Ubuntu'ya kurabilirsiniz.
Özet
Docker, çoğu geliştiricinin kapsayıcıları kullanmaya başlama şeklidir. Docker'ı Ubuntu sisteminize Docker Engine veya yeni Docker Desktop olarak kolayca kurabilirsiniz. Docker'ı yükledikten sonra, geliştirmeyi basitleştirmenize ve ortamlar arasındaki tutarsızlıkları azaltmanıza olanak tanıyan kapsayıcıları oluşturmak ve çalıştırmak için tam donanıma sahip olacaksınız.
WordPress temaları ve eklentileri geliştiriyorsanız, DevKinsta yerel bir geliştirme ortamı oluşturmayı ve sitenizi dağıtmayı basitleştirebilir.