Published

Docker Notlarım (5) 🐬

Yazar
  • avatar
    İsim
    Elif Nur Karakoç

Durmuş olan bütün containerlar silinmesi için:

docker container prune

Docker Compose Nedir? Nasıl kullanılır?

Birden fazla servis olduğunda servislerin tanımlanmasını , çalıştırılmasını sağlayan bir Docker aracıdır. Ortak bir yerden tüm servisler ayağa kaldırılarak çalıştırılabilir.

Compose ile çalışırken YAML formatında bir dosya oluşturulur. YAML dosyalarında bir key yazılır ve karşısına değişken yazılır.

docker-compose.yml tek servis ile örnek:

version: "3.4"
services:
  react-app:
    container_name: react-app
    build: .
    ports:
      - 9000:8080
  • versionlara göre farklı davranış gösterebiliyor.
  • services altında ayrı ayrı imageler için tanımlamaları yapılır.
  • react-app altında bulunan build ile bulunduğu dizindeki Dockerfile ile build al denir.
  • container_name ile container adı tanımlanır.
  • ports ile birden fazla port tanımı yapılabilir. Bu tanımlamada 9000 üzerinden çalışır ama docker host üzerinde 8080 portunu alır.

Docker-compose dosyasının çalıştırılması için (build alır ve çalıştırır):

docker-compose up

Sadece build alması için:

docker-compose build

Container kapatmak ve silmek için:

docker-compose down

docker-compose.yml birden fazla servis ile örnek:

version: "3.4"
services:
  react-app:
    container_name: react-app
    build: .
    ports:
      - 9000:8080
  backend:
    container_name: backend
    build: .
    ports:
      - 3000:3000
  mongodb:
    image: mongo
    ports:
      - 27017:27017
    volumes:
      - app-data:/data/db
volumes:
  app-data:
  • image Dockerfile’da belirttiğimiz FROM daki image denk gelmektedir.
  • volumes ile volume mapping yapılır. Veri korunmuş olunur.
  • Ana seviyede volumes altında key tanımlaması yapılır.

Notlarımın devamını başka bir yazı ile paylaşacağım 😊

Okuduğun için teşekkürer 💐

Kaynakça

Elif