Docker Ubuntu 18.04 üzerinde kurmak nasıl

Giriş

Docker, Linux uygulamalarının yazılım kapsayıcıları içindeki dağıtımını otomatikleştirmek için harika bir araçtır, ancak bir uygulamanın her bir bileşeninin kendi özel konteynerinde çalışması gereken potansiyelinden tam olarak yararlanmak için. Çok fazla bileşene sahip karmaşık uygulamalar için, tüm kapların başlatılması, iletişim kurması ve kapatılması için orkestrasyon yapılması hızla göze çarpabilir.

Docker topluluğu, tüm Docker konteynerlerinizi ve konfigürasyonlarınızı düzenlemek için tek bir YAML dosyası kullanmanıza izin veren Fig adında popüler bir çözüm buldu. Bu, o kadar popüler hale geldi ki, Docker ekibi artık kabul edilmemiş olan Şekil kaynağına dayanarak Docker Compose yapmaya karar verdi. Docker Compose, kullanıcıların başlatılması, kapatılması ve konteyner içi bağlantı ve birimlerin ayarlanması dahil olmak üzere Docker konteynerlerinin işlemlerini düzenlemesini kolaylaştırır.

Bu eğiticide, çok kapsayıcı uygulamaları yönetmenize yardımcı olmak için Docker Compose'un en son sürümünü nasıl yükleyeceğinizi göstereceğiz.

Ön şartlar

Bu makaleyi takip etmek için aşağıdakileri içeren bir Ubuntu 18.04 sunucusuna ihtiyacınız olacak:

  • Sudo ayrıcalıklarına sahip kök dışı bir kullanıcı (Ubuntu 18.04 ile Initial Server Kurulumu bunun nasıl ayarlanacağını açıklar.)
  • Docker, Ubuntu'da Yükleme ve Kullanma Docker'ın Adım 1 ve Adım 2'sindeki talimatlarla birlikte yüklendi 18.04

Bunlar hazır olduğunda, takip etmeye hazırsınız.

Not: Önkoşullar, Ubuntu 18.04'te Docker'ı yüklemek için talimatlar vermesine rağmen, bu makaledeki docker komutları, Docker kurulu olduğu sürece diğer işletim sistemlerinde çalışmalıdır.

Adım 1 – Docker Oluşturma Oluşturma

Docker Compose'u resmi Ubuntu depolarından yükleyebilmemize rağmen, en son sürümün arkasında birkaç küçük sürüm var, bu yüzden Docker Compose'u Docker'in GitHub deposundan yükleyeceğiz. Aşağıdaki komut, Sürümler sayfasında bulacağınızdan biraz farklı. Çıktıyı yeniden yönlendirmek yerine önce çıktı dosyasını belirtmek için -o işaretini kullanarak, bu sözdizimi sudo kullanıldığında bir izin reddedildi.

Mevcut sürümü kontrol edeceğiz ve gerekirse aşağıdaki komutta güncelleyeceğiz:

  • sudo kıvrılması -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o / usr / local / bin / docker- oluşturmak

Ardından izinleri ayarlayacağız:

  • sudo chmod + x / usr / yerel / bin / docker-compose

Ardından, sürümü kontrol ederek kurulumun başarılı olduğunu doğrularız:

  • docker-compose - dönüşüm

Bu, yüklediğimiz sürümü basacak:

Outputdocker-compose version 1.21.2, build a133471

Şimdi Docker Compose'u yükledik, "Merhaba Dünya" örneğini çalıştırmaya hazırız.

Adım 2 – Docker ile bir kapsayıcı oluşturmak

Kamu Docker kayıdı, Docker Hub, gösteri ve test için bir Hello World resmi içerir. Docker Compose: tek bir görüntüyü çağıran YAML dosyası kullanarak bir kapsayıcı çalıştırmak için gereken en düşük yapılandırmayı gösterir:

Öncelikle, YAML dosyası için bir dizin oluşturacağız ve içine taşınacağız:

  • mkdir merhaba-dünya
  • cd merhaba-dünya

Daha sonra YAML dosyasını oluşturacağız:

  • nano docker-compose.yml

Aşağıdaki içerikleri dosyaya koyun, dosyayı kaydedin ve metin editöründen çıkın:

docker-compose.ymlmy-test:
image: hello-world

YAML dosyasındaki ilk satır, konteyner adının bir parçası olarak kullanılır. İkinci satır, kapsayıcıyı oluşturmak için hangi görüntünün kullanılacağını belirtir. docker-compose up komutunu çalıştırdığımızda, belirttiğimiz isme göre yerel bir imaj ararız, hello-world . Bununla birlikte, dosyayı kaydedip çıkacağız.

docker images komutuyla sistemimizde görüntülere manuel olarak bakabiliriz:

  • docker görüntüleri

Hiç yerel görüntü yoksa, sadece sütun başlıkları görüntülenir:

OutputREPOSITORY TAG IMAGE ID CREATED SIZE

Şimdi, ~/hello-world dizinindeyken şu komutu yapacağız:

  • docker-oluşturmak

Komutu ilk kez çalıştırdığımızda, eğer hello-world adında yerel bir görüntü yoksa, Docker Compose onu Docker Hub kamu deposundan çekecek:

OutputPulling my-test (hello-world:latest)...
latest: Pulling from library/hello-world
c04b14da8d14: Downloading [==================================================>] c04b14da8d14: Extracting [==================================================>] c04b14da8d14: Extracting [==================================================>] c04b14da8d14: Pull complete
Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9
Status: Downloaded newer image for hello-world:latest
. . .

Resmi çektikten sonra, docker-compose bir kapsayıcı oluşturur, ekler ve merhaba programını çalıştırır, bu da yükleme işleminin çalıştığını onaylar:

Output. . .
Creating helloworld_my-test_1...
Attaching to helloworld_my-test_1
my-test_1 |
my-test_1 | Hello from Docker.
my-test_1 | This message shows that your installation appears to be working correctly.
my-test_1 |
. . .

Sonra ne yaptığıyla ilgili bir açıklama yazdı:

Output of docker-compose up1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
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.

Docker konteynerleri sadece komut aktif olduğu sürece çalışır, böylece hello bittiğinde konteyner durdu. Sonuç olarak, aktif işlemlere baktığımızda, sütun başlıkları görünecek, ancak hello-world kapsayıcısı çalışmadığı için listelenmeyecek.

  • docker ps

OutputCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Bir sonraki adımda ihtiyaç duyacağımız konteyner bilgilerini, sadece aktif olanları değil, tüm kapları gösteren -a bayrağı kullanarak görebiliriz:

  • docker ps-bir

OutputCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
06069fd5ca23 hello-world "/hello" 35 minutes ago Exited (0) 35 minutes ago drunk_payne

Bu, bittiğinde kapsayıcıyı kaldırmak için ihtiyacımız olan bilgileri görüntüler.

Adım 3 – Görüntüyü Kaldırma (İsteğe Bağlı)

Gereksiz disk alanı kullanmaktan kaçınmak için yerel resmi kaldırırız. Bunu yapmak için, docker rm komutunu kullanarak görüntüye başvuran tüm kapsayıcıları, ardından da CONTAINER ID veya NAME öğesini silmemiz gerekir. Aşağıda, sadece koştuğumuz docker ps -a komutundan CONTAINER ID kullanıyoruz. Kapsayıcınızın kimliğini değiştirdiğinizden emin olun:

  • docker rm 06069fd5ca23

Resmi referans alan tüm kapsayıcılar kaldırıldıktan sonra, resmi kaldırabiliriz:

  • docker rmi merhaba-dünya

Sonuç

Şimdi Docker Compose'u kurduk, bir Hello World örneği çalıştırarak kurulumumuzu test ettik ve test resmini ve kabını kaldırdık.

Hello World örneği yüklememizi doğrularken, basit yapılandırma, Docker Compose'un bir grup Docker kapsayıcısını aynı anda yukarı ve aşağı getirebilmesinin ana avantajlarından birini göstermiyor. Docker Compose uygulamasının gücünü görmek için bu pratik örneğe bakın, Donder ve Docker ile Sürekli Entegrasyon Test Ortamını Ubuntu 16.04'te Oluşturma (not: bu makale 18.04 yerine Ubuntu 16.04 içindir)

Bir önceki yazımız olan Laravel İlişki Etkinlikleri başlıklı makalemizi de okumanızı öneririz.

About This Author

Comments are closed

%d blogcu bunu beğendi: