Docker, kullanım kolaylığı ve esnekliği nedeniyle en popüler konteynerleştirme teknolojilerinden biridir. Birçok bulut platformu Docker’ı destekler ve birçok ortamda docker kapsayıcıları çalıştırabilirsiniz.
Docker’ın satış noktalarından biri, birden çok kapsayıcıyla hızlı bir şekilde çalışma işlevidir. Bu, Docker’ı hem monolitik uygulamalar hem de mikro hizmetler oluşturmak için uygun hale getirir.
Docker Compose, Docker’ın konteynerler arası etkileşim ve orkestrasyon elde etmek için kullandığı araçtır.
Docker Oluşturma Nedir?
Docker Compose, Docker motoru üzerine kurulmuş basit bir kapsayıcı düzenleme aracıdır. Birden çok Docker kapsayıcısıyla çalışmanıza olanak tanır. Ölçeklenebilirliğinden yerleşik sürüm kontrolüne kadar sanallaştırma için Docker’ı kullanmanın birçok nedeni vardır .
Birden çok mimari desene sahip tam yığın uygulamalar oluşturmak için Docker Compose’u kullanabilirsiniz.
Docker Compose, birçok kapsayıcılı mikro hizmet uygulamasına güç sağlayan agnostik bir araçtır. Docker Compose ile uygulamanız için tek bir ana bilgisayar ortamı kullanmaya devam edersiniz. Ancak uygulamanızın güvenliğini ve üretkenliğini tehlikeye atabilecek birden çok yapılandırmanın zorluklarından kaçınırsınız.
Docker Compose, derlemeler için Dockerfiles kullanmaz. Bunun yerine, uygulamanızın yapılandırma ayarları için bir docker-compose.yaml dosyası kullanacaksınız.
YAML dosyasında birçok farklı yapı ayarını yapılandırabilirsiniz. Bunlara bağlantı noktası eşlemesi, ortam değişkenleri, birimler ve ağlar ve hizmetler dahildir.
Docker Compose’u Yükleme
Docker -compose programı Docker motorunda çalışır . Docker Compose, Docker CLI ve Docker GUI’nin bir macOS veya Windows kurulumunun parçasıdır.
Yüklendiğini onaylamak için bu komutu çalıştırın:
docker-compose version
Komut, docker-compose sürümünü, yapı numarasını ve diğer ilgili bilgileri döndürür.
liman işçisi sürüm komutu ve sonucu oluştur
Bir Linux makinesindeyseniz Docker Compose’u ayrıca yüklemeniz gerekir. Çeşitli Linux dağıtımlarına kurmak için resmi Docker talimatlarını takip edebilirsiniz . Docker motoru, Docker Compose için bir bağımlılıktır. Docker Compose’u yüklemeye çalışmadan önce Docker’ın kurulu olduğundan emin olmanız gerekir.
Docker Compose YAML Dosyası
Docker Compose, derleme belirtimleri için bir .yaml dosyası kullanır. Uygulamanızın derlemesi için uygulamalarınızın hizmetlerini, ağlarını ve birim yapılandırmalarını tanımlamak için docker-compose dosyasını kullanacaksınız .
Uygulamanız için Dockerfile’ı yazdıktan sonra , çalışma dizininizin kök dizininde bir docker-compose dosyası oluşturun.
Docker-compose’u düzgün kullanmak için YAML dosyalarını anlamanız gerekecek. Docker-compose YAML dosyanızda yapı yapılandırmalarını nasıl belirleyeceğiniz aşağıda açıklanmıştır:
version:
services:
web:
build:
ports:
volumes:
database:
image:
Sürüm anahtarı , çalıştırmakta olduğunuz Docker Compose sürümünü içermelidir.
Hizmetler anahtarında kapsayıcı yapılandırmalarını tanımlayabilirsiniz. Web anahtarı hizmet adını tanımlar. Derleme bildirimi , docker dosyasının (docker dosya yolu) konumunu tanımlar ve uygulamanızın bağlantı noktalarını bağlantı noktaları anahtarında eşleyebilirsiniz.
Docker-compose dosyasında veritabanınız ve hizmetleriniz için ek alanlar belirleyebilirsiniz .
İşte basit bir web uygulaması için bir Docker Compose dosyası örneği:
version: ‘3.9’ # docker-compose
services:
web: # web services
build: . # builds containers in the root directory
ports:
– “8080:8080” # app to port 8080
# Mount volumes in home directory on the away directory
volumes:
– “/home:/away”
database:
image: “redis:alpine”
environment: #environment variables
– “USERNAME=yourUser”
– “PASSWORD=p@wen”
Bu docker-compose dosyasında hizmet , Docker Compose’un 3.9 sürümünü çalıştıracaktır . Redis veritabanı görüntüsü ve bildirilen ortam değişkenleri ile 8080 numaralı bağlantı noktasında çalışmak üzere kök dizinde liman işçisi dosyaları oluşturacaktır .
Docker Oluşturma Komutları
Konteyner düzenleme ile ilgili işlemleriniz için docker-compose ile diğer birçok komutu kullanabilirsiniz .
liman işçisi oluşturma komutları
build komutu , docker-compose YAML dosyasındaki görüntüleri oluşturur veya yeniden oluşturur ve hizmetiniz için kapsayıcıları oluşturur.
docker-compose build
Run komutu , Docker görüntülerinden kapsayıcıları oluşturarak hizmetlerinizi docker-compose dosyasında belirtildiği gibi başlatır .
docker-compose run
Görüntüler komutu, docker-compose dosyanızdan oluşturulan görüntülerin bir listesini görüntülemenizi sağlar .
docker-compose images
Yukarı komutu, oluştur ve çalıştır komutlarının birleşimidir . Bu komut, Docker görüntülerini oluşturur ve çalıştırır ve kapsayıcıları başlatır.
docker-compose up
Docker-compose dosyasındaki tüm kapsayıcıları listelemek için ps komutunu kullanabilirsiniz .
docker-compose ps
Down komutu , docker-compose dosyasıyla ilişkili kapsayıcıları ve görüntüleri durdurur ve temizler .
docker-compose down
Yalnızca liman işçisi oluşturma dosyanızdaki tüm kapsayıcıları ve hizmetleri durdurmak istiyorsanız stop komutunu yararlı bulacaksınız .
docker-compose stop
Docker, Konteynerleşme Sorunlarınızı Hafifletme Sözü Veriyor
Konteynerleştirme araçları Docker’dan önce vardı, ancak Docker kullanımı en kolay olanlardan biri.
Docker Compose daha kolay kapsayıcı yönetimi sunar, bu nedenle Docker’ı kullanmak diğer rakip teknolojilerden daha üretken olabilir.