Docker Compose: Temel Bilgiler ve Kullanım

Docker Compose NET tabanlı uygulamaları yönetmek ve dağıtmak için kullanılan güçlü ve popüler bir araçtır Docker. Docker Birden çok kapsayıcıyı tek bir proje olarak tanımlamanıza, yapılandırmanıza ve çalıştırmanıza olanak tanıyarak uygulama dağıtımını basitleştirir ve geliştirme ve üretim ortamları arasında tutarlılık sağlar .

Aşağıda bazı kavramlar ve örnekler verilmiştir Docker Compose:

docker-compose.yml dosyasını kullanarak projeyi tanımlayın

Dosyada docker-compose.yml, uygulamanız için gerekli hizmetleri tanımlayabilirsiniz. Örneğin, bir PHP web uygulamasını bir MySQL veritabanıyla dağıtmak için iki hizmeti aşağıdaki gibi tanımlayabilirsiniz:

version: "3"  
services:  
  web:  
    image: php:7.4-apache  
    ports:  
   - "80:80"  
    volumes:  
   - ./app:/var/www/html  
  
  db:  
    image: mysql:5.7  
    environment:  
      MYSQL_ROOT_PASSWORD: password  
      MYSQL_DATABASE: my_database  

Yukarıdaki kod parçacığında iki hizmet tanımlıyoruz: web ve db. Hizmet web PHP 7.4'ü image ile kullanacak Apache, 80 numaralı bağlantı noktasını dinleyecek ve dizini ./app ana /var/www/html bilgisayardan container. Hizmet db, MySQL 5.7'yi kullanacak image ve veritabanı için gereken bazı ortam değişkenlerini ayarlayacaktır.

 

Docker Compose Komutu kullanma

Dosyada projeyi tanımladıktan sonra, hizmetleri yönetmek için komutları docker-compose.yml kullanabilirsiniz. Docker Compose

  • Projeyi başlatın: docker-compose up

    Bu komut, dosyada tanımlanan hizmetler için kapsayıcıları başlatır docker-compose.yml.

  • Kapları durdurun ve çıkarın: docker-compose down

    Bu komut, projeyle ilgili tüm kapları durdurur ve kaldırır.

  • Çalışan kapları listele: docker-compose ps

    Bu komut, projedeki konteynerlerin durumunu gösterecektir.

  • Hizmet günlüklerini görüntüleyin: docker-compose logs

    Bu komut, projedeki servislerin günlüklerini gösterir.

 

Ortam değişkenleri ve özelleştirme

Docker Compose geliştirme ve üretim gibi farklı ortamlar için yapılandırmaları özelleştirmek üzere ortam değişkenlerini kullanmanıza olanak tanır. Dosyadaki ortam değişkenlerini kullanabilir docker-compose.yml ve değerlerini ilgili dosyalarda tanımlayabilirsiniz .env.

Örneğin, hizmetin bağlantı noktası için bir ortam değişkeni tanımlamak istiyorsanız, dosyaya şu şekilde web bir satır ekleyebilirsiniz: .env

WEB_PORT=8080

Ardından docker-compose.yml, dosyada bu ortam değişkenini şu şekilde kullanabilirsiniz:

version: "3"  
services:  
  web:  
    image: php:7.4-apache  
    ports:  
   - "${WEB_PORT}:80"  
    volumes:  
   - ./app:/var/www/html  

Komutu çalıştırırken docker-compose up, web hizmet 80 numaralı bağlantı noktası yerine 8080 numaralı bağlantı noktasını dinleyecektir.

 

Docker Swam ile entegrasyon

Docker Compose Uygulamanızı birden çok düğüme sahip dağıtılmış bir ortamda dağıtmak istiyorsanız, Docker Swarm. Bu, hizmetleri bir kümedeki birden çok düğümde yönetmenize olanak tanır Docker.

Bu entegrasyonu kullanmak için, bir ortamda veya komutlarını çalıştırırken --orchestrate veya seçeneklerini eklemeniz yeterlidir. --with-registry-auth docker stack deploy docker-compose up Swarm

 

Docker Compose kolay ve verimli uygulama geliştirme, test etme ve dağıtma için yararlı bir araçtır. Geliştirme ve üretim ortamları arasındaki farkları en aza indirir, yazılım geliştirme sürecinde tutarlılık sağlar ve geliştirme ekiplerinin üretkenliğini artırır.