Docker-compose komutu nasıl kullanılır?

Docker-compose komutunu kullanma docker-compose komutuyla çalışmaya nasıl başlayacağınızı öğrenin.

Okunmalı Bulut

  • 2020'de bulut bilişim: Güvenlik, AI, Kubernetes, daha fazlası hakkında tahminler
  • On yılın en önemli bulut gelişmeleri
  • Hizmet olarak en iyi masaüstü (DaaS) sağlayıcıları: Amazon, Citrix, Microsoft, VMware ve daha fazlası
  • Bulut bilişim politikası (TechRepublic Premium)

Docker kapsayıcılarını yönetme ve dağıtma birçok şekilde yapılabilir. Düz yukarı docker komutunu kullanabilir, birçok GUI aracından (hem web tabanlı hem de masaüstü istemci odaklı) çalışabilir veya docker oluşturma yoluna gitmeyi tercih edebilirsiniz.

Docker Compose nedir? Basit: Docker Compose, kapların oluşturulması ve aralarındaki bağlantılar için kullanılır. Ancak, docker-compose komutu aslında bundan biraz daha kullanışlıdır. Bu komutla şunları yapabilirsiniz: Görüntüler oluşturabilir, kapları ölçeklendirebilir, kapları iyileştirebilir, kapsayıcılardan çıktıları görüntüleyebilir, bir kabın genel bağlantı noktasını listeleyebilir ve çok daha fazlasını yapabilirsiniz.

Peki docker-compose'u nasıl kullanıyorsunuz? Nasıl olduğunu bulalım.

Sunucusuz bilgi işlem: BT liderleri için rehber (TechRepublic Premium)

Docker Compose nasıl kurulabilir

Docker'ı sunucunuza kurmuş olsanız bile, Docker Compose'in onunla birlikte yüklenmemiş olması ihtimali vardır. Docker Compose yazılımını kurmak için aşağıdaki komutları verin:

 sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s) - $ (uname -m)" -o / usr / local / bin / docker-compose sudo chmod + x / usr / local / bin / docker-compose 

Kurulumu şu komutla doğrulayın:

 docker-compose sürümü 

Birkaç uygulamanın sürüm numaralarını görmelisiniz ( Şekil A ).

Şekil A

Docker Compose installed and ready.

" data-credit="" rel="noopener noreferrer nofollow">

Docker Compose yüklü ve hazır.

Docker dosyası

Bir kapsayıcıyı dağıtmak için Docker Compose, Docker kapsayıcısını belirttiğiniz özelliklere dağıtmak için kullanılan bir dosya olan docker-compose.yml dosyasına bağlıdır. Diyelim ki bir Wordpress kapsayıcısı dağıtmak istiyorsunuz. Önce şu komutla yeni bir dizin oluşturun:

 mkdir ~ / wordpressbuild 

Komutla yeni dizine geçin:

 cd ~ / wordpressbuild 

Yeni Docker Compose dosyasını şu komutla oluşturun:

 nano docker-compose.yml 

Aşağıdaki içeriği (resmi Docker Compose belgelerinden alınmıştır) dosyaya yapıştırın:

 sürüm: '3.3' hizmetleri: db: image: mysql: 5.7 ciltler: - db_data: / var / lib / mysql restart: her zaman çevre: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: dss image: depends wordpress: en son bağlantı noktaları: - "8000: 80" yeniden başlatma: her zaman çevre: WORDPRESS_DB_HOST: db: 3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress ciltleri: db_data: {} 

Bu dosyayı kaydedip kapatın.

Şimdi projeyi inşa ediyoruz ve şu komutu kullanarak konteyneri müstakil modda dağıtıyoruz:

 docker-compose up -d 

Komut, gerekli tüm görüntüleri indirir (bu durumda MySQL ve Wordpress) ve ardından hizmeti 8000 bağlantı noktasına dağıtır. Bir web tarayıcısını http: // SERVER_IP: 8000'e yönlendirebilirsiniz (burada SERVER_IP, barındırma sunucusunun IP adresidir) ) kullanarak Wordpress kurulum sayfasını görebilirsiniz ( Şekil B ).

Şekil B

The Wordpress installer.

" data-credit="" rel="noopener noreferrer nofollow">

Wordpress yükleyici.

Dağıtımınızı nasıl kontrol edersiniz

Günlükleri dağıtımınızdan kontrol etmek istediğinizi varsayalım. Bunu yapmak için şu komutu verin:

 liman işçiliği oluşturma günlükleri 

Son konuşlandırmanızdan bol miktarda bilgi görmelisiniz ( Şekil C ).

Şekil C

Viewing the logs from the docker-compose deployment of Wordpress.

" data-credit="" rel="noopener noreferrer nofollow">

Günlükleri Wordpress'in docker-compose dağıtımından görüntüleme.

Bu komut çok fazla bilgi verir (özellikle çok sayıda kapsayıcı dağıttıysanız). Bunun yerine, günlük dosyalarını görüntülemek için bir hizmet belirtebilirsiniz. Hangi hizmet adının kullanılacağını nasıl öğrenebilirim? Docker-compose.yml dosyasını kontrol edin. Örneğimizde iki hizmetimiz var:

  • db - veritabanı
  • wordpress - Wordpress kapsayıcısı

Bu nedenle, yalnızca wordpress hizmetinin günlüklerini görüntülemek istiyorsanız, bu komut şöyle olur:

 docker-compose günlükleri wordpress 

Günlüklerin çıktısını da (tail komutunu kullandığınız gibi) takip edebilirsiniz:

 docker-compose günlükleri -f wordpress 

WordPress hizmeti için yeni bilgiler kaydedildiğinde, terminal pencerenizde görünecektir ( Şekil D ).

Şekil D

Following the wordpress service logs.

" data-credit="" rel="noopener noreferrer nofollow">

Wordpress hizmet günlüklerini takiben.

Dağıtımınızda hangi bağlantı noktalarını kullandığınızı unutursanız ne olur? Docker-compose.yml dosyasını kontrol edebilir veya port seçeneğini docker-compose komutuyla kullanabilirsiniz. Bir servisin dahili komutunu bilmeniz gerekir. Örneğin, Wordpress varsayılan olarak 80 numaralı bağlantı noktasını kullanır, bu nedenle dahili bağlantı noktası olduğunu biliyoruz. Peki ağa bakan port olarak neyi tayin ettik? Komutla öğrenin:

 liman işçisi oluştur bağlantı noktası wordpress 80 

Bu komutun çıktısı, dahili bağlantı noktası 80'i harici bağlantı noktası 8000 ile eşleştirdiğimizi gösterecektir ( Şekil E ).

Şekil E

Our port mapping for Wordpress.

" data-credit="" rel="noopener noreferrer nofollow">

Wordpress için liman eşlememiz.

Hangi kapsayıcıları dağıttığınızı hatırlayamıyorsanız, şu komutu verebilirsiniz:

 docker-compose ps 

Çıktı, dağıttığınız tüm kapları listeleyecektir ( Şekil F ).

Şekil F

A listing of containers.

" data-credit="" rel="noopener noreferrer nofollow">

Kapsayıcıların bir listesi.

Yeni başladık

Ve bu sizi Docker Compose'da bulunacak güçle başlatacaktır. Daha sonra bu konuyu ziyaret ettiğimizde, docker-compose.yml dosyasını bozacağız ve kendinizinkini nasıl oluşturacağımızı öğreneceğiz.

Açık Kaynak Haftalık Haber Bülteni

Linux işletim sistemi ve açık kaynak uygulamaları hakkındaki ipuçlarımızı, eğiticilerimizi ve yorumlarımızı kaçırmak istemezsiniz. Salı günleri teslim edildi

Bugün kayıt olun

© Copyright 2020 | mobilegn.com