Sobes.tech
Junior

Τι είναι το Docker Compose;

sobes.tech AI

Απάντηση από AI

Εργαλείο για τον ορισμό και την εκτέλεση εφαρμογών Docker πολλαπλών κοντέινερ. Επιτρέπει την περιγραφή υπηρεσιών, δικτύων και όγκων σε ένα αρχείο YAML και την εκτέλεσή τους με μια εντολή.

Βασικές λειτουργίες:

  • Ορισμός πολλαπλών υπηρεσιών σε ένα αρχείο.
  • Δημιουργία και εκκίνηση όλων των υπηρεσιών με μια εντολή.
  • Διαχείριση του κύκλου ζωής της εφαρμογής (εκκίνηση, διακοπή, επανεκκίνηση, κλιμάκωση).
  • Δικτυακή αλληλεπίδραση μεταξύ κοντέινερ.
  • Εφαρμογή διαμόρφωσης σε πραγματικό χρόνο.

Παράδειγμα αρχείου docker-compose.yml:

version: '3.8' # Έκδοση μορφής αρχείου

services:
  web: # Όνομα υπηρεσίας
    image: nginx:latest # Χρησιμοποιούμενη εικόνα
    ports:
      - "80:80" # Ανακατεύθυνση θυρών
    volumes:
      - ./html:/usr/share/nginx/html # Χαρτογράφηση όγκων

  app: # Όνομα άλλης υπηρεσίας
    build: . # Κατασκευή εικόνας από Dockerfile στον τρέχοντα κατάλογο
    ports:
      - "5000:5000"
    depends_on: # Εξάρτηση από άλλη υπηρεσία
      - db

  db: # Όνομα υπηρεσίας βάσης δεδομένων
    image: postgres:latest
    environment: # Μεταβλητές περιβάλλοντος
      POSTGRES_DB: mydatabase
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword

volumes: # Ορισμένοι όγκοι
  data: # Ονομασμένος όγκος για δεδομένα

Εντολές:

  • docker-compose up: Ξεκινάει τα κοντέινερ.
  • docker-compose down: Τερματίζει και διαγράφει τα κοντέινερ.
  • docker-compose build: Χτίζει τις εικόνες.
  • docker-compose ps: Εμφανίζει την κατάσταση των τρεχόντων κοντέινερ.

Πλεονεκτήματα:

  • Απλοποιεί τη διαχείριση πολύπλοκων εφαρμογών πολλαπλών κοντέινερ.
  • Διασφαλίζει την αναπαραγωγιμότητα της ανάπτυξης.
  • Διευκολύνει την τοπική ανάπτυξη και δοκιμές.