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: Εμφανίζει την κατάσταση των τρεχόντων κοντέινερ.
Πλεονεκτήματα:
- Απλοποιεί τη διαχείριση πολύπλοκων εφαρμογών πολλαπλών κοντέινερ.
- Διασφαλίζει την αναπαραγωγιμότητα της ανάπτυξης.
- Διευκολύνει την τοπική ανάπτυξη και δοκιμές.