Docker Compose: Βασικά στοιχεία και χρήση

Docker Compose είναι ένα ισχυρό και δημοφιλές εργαλείο που χρησιμοποιείται για τη διαχείριση και την ανάπτυξη εφαρμογών που βασίζονται σε Docker. Σας επιτρέπει να ορίσετε, να διαμορφώσετε και να εκτελέσετε πολλά Docker κοντέινερ ως ένα μόνο έργο, απλοποιώντας την ανάπτυξη εφαρμογών και διασφαλίζοντας τη συνέπεια μεταξύ των περιβαλλόντων ανάπτυξης και παραγωγής.

Ακολουθούν ορισμένες έννοιες και παραδείγματα Docker Compose:

Ορίστε το έργο χρησιμοποιώντας το αρχείο docker-compose.yml

Στο docker-compose.yml αρχείο, μπορείτε να ορίσετε τις υπηρεσίες που απαιτούνται για την εφαρμογή σας. Για παράδειγμα, για να αναπτύξετε μια εφαρμογή web PHP με βάση δεδομένων MySQL, μπορείτε να ορίσετε δύο υπηρεσίες ως εξής:

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  

Στο παραπάνω απόσπασμα κώδικα, ορίζουμε δύο υπηρεσίες: web και db. Η web υπηρεσία θα χρησιμοποιήσει την PHP 7.4 image με Apache, θα ακούσει στη θύρα 80 και θα προσαρτήσει τον ./app κατάλογο από τον κεντρικό υπολογιστή στον /var/www/html κατάλογο στο container. Η db υπηρεσία θα χρησιμοποιήσει την MySQL 5.7 image και θα ορίσει ορισμένες μεταβλητές περιβάλλοντος που απαιτούνται για τη βάση δεδομένων.

 

Χρήση Docker Compose εντολής

Αφού ορίσετε το έργο στο docker-compose.yml αρχείο, μπορείτε να χρησιμοποιήσετε Docker Compose εντολές για τη διαχείριση των υπηρεσιών.

  • Ξεκινήστε το έργο: docker-compose up

    Αυτή η εντολή θα ξεκινήσει τα κοντέινερ για τις υπηρεσίες που ορίζονται στο docker-compose.yml αρχείο.

  • Σταματήστε και αφαιρέστε τα δοχεία: docker-compose down

    Αυτή η εντολή σταματά και αφαιρεί όλα τα κοντέινερ που σχετίζονται με το έργο.

  • Λίστα εκτελούμενων κοντέινερ: docker-compose ps

    Αυτή η εντολή θα εμφανίσει την κατάσταση των κοντέινερ στο έργο.

  • Προβολή αρχείων καταγραφής υπηρεσιών: docker-compose logs

    Αυτή η εντολή εμφανίζει τα αρχεία καταγραφής των υπηρεσιών στο έργο.

 

Μεταβλητές περιβάλλοντος και προσαρμογή

Docker Compose σας επιτρέπει να χρησιμοποιείτε μεταβλητές περιβάλλοντος για να προσαρμόζετε διαμορφώσεις για διαφορετικά περιβάλλοντα, όπως ανάπτυξη και παραγωγή. Μπορείτε να χρησιμοποιήσετε μεταβλητές περιβάλλοντος στο docker-compose.yml αρχείο και να ορίσετε τις τιμές τους σε αντίστοιχα .env αρχεία.

Για παράδειγμα, εάν θέλετε να ορίσετε μια μεταβλητή περιβάλλοντος για τη θύρα της web υπηρεσίας, μπορείτε να προσθέσετε μια γραμμή στο .env αρχείο ως εξής:

WEB_PORT=8080

Στη συνέχεια, στο docker-compose.yml αρχείο, μπορείτε να χρησιμοποιήσετε αυτήν τη μεταβλητή περιβάλλοντος ως εξής:

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

Κατά την εκτέλεση της docker-compose up εντολής, η web υπηρεσία θα ακούει στη θύρα 8080 αντί για τη θύρα 80.

 

Ενσωμάτωση με Docker το Swam

Εάν θέλετε να αναπτύξετε την εφαρμογή σας σε ένα κατανεμημένο περιβάλλον με πολλούς κόμβους, Docker Compose μπορείτε να ενσωματώσετε με Docker Swarm. Αυτό σας επιτρέπει να διαχειρίζεστε υπηρεσίες σε πολλούς κόμβους σε ένα Docker σύμπλεγμα.

Για να χρησιμοποιήσετε αυτήν την ενοποίηση, πρέπει απλώς να προσθέσετε τις επιλογές --orchestrate ή κατά την εκτέλεση ή εντολές σε ένα περιβάλλον. --with-registry-auth docker stack deploy docker-compose up Swarm

 

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