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

Ποιες είναι οι απαιτήσεις για το Docker Compose στο Ubuntu;

Προτού μπορέσετε να χρησιμοποιήσετε το Docker Compose, πρέπει να βεβαιωθείτε ότι το σύστημά σας πληροί τις ακόλουθες προϋποθέσεις:

  • Docker Engine: Το Compose είναι μια επέκταση του Docker Engine που πρέπει να εγκαταστήσετε.
  • Λειτουργικό σύστημα: Ubuntu, χρήστης sudo με δικαιώματα root.
Tip

Για να χρησιμοποιήσετε λειτουργικό σύστημα διαφορετικό από το Linux, ανατρέξτε στον οδηγό μας σχετικά με την εγκατάσταση του Docker Compose στα Windows και του Docker Compose στο macOS.

Οδηγός βήμα προς βήμα για την εγκατάσταση του Docker Compose στο Ubuntu

Για να χρησιμοποιήσετε το Docker Compose στο Ubuntu, πρέπει πρώτα να εγκαταστήσετε το Docker Engine και να βεβαιωθείτε ότι λειτουργεί σωστά. Μόλις το Docker τεθεί σε λειτουργία, κατεβάστε το Compose και δημιουργήστε το αρχείο YAML για να διαμορφώσετε τις εφαρμογές σας.

Βήμα 1: Κατεβάστε και εγκαταστήστε το Docker Compose

Κατεβάστε την πιο πρόσφατη έκδοση του Docker Compose από το επίσημο αποθετήριο του GitHub, πληκτρολογώντας την ακόλουθη εντολή σε ένα τερματικό:

$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
shell

Τώρα, μπορείτε να παραχωρήσετε δικαιώματα εκτέλεσης στο Docker Compose:

$ sudo chmod +x /usr/local/bin/docker-compose
shell

Χρησιμοποιήστε την επιλογή --version για να ελέγξετε αν το Compose εγκαταστάθηκε με επιτυχία.

$ docker-compose --version
shell

Θα λάβετε το ακόλουθο αποτέλεσμα:

Image: Docker Compose Version
If you see the version number, Docker Compose has been successfully installed.

Εάν η εγκατάσταση αποτύχει, ελέγξτε τη διαδρομή.

Μπορείτε επίσης να δημιουργήσετε έναν συμβολικό σύνδεσμο προς τη διαδρομή /usr/bin:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
shell

Βήμα 2: Ρυθμίστε το αρχείο docker-compose.yml

Για να δείξουμε πώς σχεδιάζεται ένα αρχείο YAML του Docker Compose, χρησιμοποιούμε την εικόνα Nginx από το επίσημο Docker Hub για το περιβάλλον του κοντέινερ.

Πρώτα, δημιουργήστε έναν νέο φάκελο στον αρχικό σας κατάλογο:

$ mkdir ~/compose-test
shell

Μεταβείτε στον κατάλογο και δημιουργήστε έναν νέο φάκελο για τον ριζικό κατάλογο του περιβάλλοντος Nginx σας.

$ cd ~/compose-test
$ mkdir app
shell

Μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου, όπως το nano, για να δημιουργήσετε το αρχείο index.html.

$ nano app/index.html
shell

Ακολουθεί ο κώδικας HTML για μια δείγμα σελίδα:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Docker Compose Test</title>
</head>
<body>
    <h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>
html

Αποθηκεύστε και κλείστε το αρχείο HTML και δημιουργήστε το αρχείο docker-compose.yml.

$ nano docker-compose.yml
shell

Το περιεχόμενο χωρίζεται στον αριθμό έκδοσης της διαμόρφωσης και στο τμήμα των υπηρεσιών.

version: '3.9'
services:
    web:
        image: nginx:alpine
        ports:
            - "8000:80"
        volumes:
- ./app:/usr/share/nginx/html
YAML

Στο μπλοκ υπηρεσιών, υπάρχει μία μόνο υπηρεσία με το όνομα «web». Αυτή συνδέεται με την καθορισμένη εικόνα Nginx και την ανακατεύθυνση θύρας. Στη διαμόρφωσή μας, οποιαδήποτε αιτήματα προς τη θύρα 8000 στον κεντρικό υπολογιστή ανακατευθύνονται στον κοντέινερ web στη θύρα 80, όπου εκτελείται το Nginx. Επιπλέον, χρησιμοποιούμε έναν κοινόχρηστο τόμο μεταξύ του κεντρικού υπολογιστή και του κοντέινερ. Αυτό καθιστά τον τοπικό φάκελο «app» προσβάσιμο από την εφαρμογή Nginx

Βήμα 3: Εκτέλεση του Docker Compose

Με την παρακάτω εντολή δημιουργούμε έναν web container και εκτελούμε το περιβάλλον του container στο παρασκήνιο:

$ docker-compose up -d
shell

Εάν η εικόνα που καθορίζεται στο αρχείο YAML δεν υπάρχει στο τοπικό σύστημα, θα κατεβαστεί αυτόματα.

Για να ελέγξετε αν το περιβάλλον Nginx είναι ενεργό, πληκτρολογήστε την εντολή ps.

$ docker-compose ps
shell

Η δείγμα σελίδα που δημιουργήσατε νωρίτερα είναι πλέον προσβάσιμη στη διεύθυνση localhost:8000 όταν εκτελείτε το demo στον υπολογιστή σας. Αν χρησιμοποιείτε απομακρυσμένο διακομιστή, απλώς καθορίστε τη διεύθυνση IP του διακομιστή σας αντί για «localhost».

Image: Docker Compose sample page
Sample page for an Nginx container

Μπορείτε να τερματίσετε την εφαρμογή του κοντέινερ χρησιμοποιώντας stop.

$ docker-compose stop
shell
Go to Main Menu