Επιστροφή στο blog

Εγκατάσταση και Ρύθμιση του Docker στο CentOS 7

Εγκατάσταση και Ρύθμιση του Docker στο CentOS 7

Εισαγωγή

Docker είναι μια πλατφόρμα που διευκολύνει την εκτέλεση και τη διαχείριση διεργασιών εφαρμογών σε containers. Παρέχει έναν τρόπο διαχωρισμού των εφαρμογών σας από την υποδομή σας. Τα containers μοιάζουν πολύ με τις εικονικές μηχανές (virtual machines), αλλά είναι πιο φορητά, αποδοτικά και εύκολα στη χρήση. Υπάρχουν διάφοροι τρόποι για να εγκαταστήσετε το Docker σε Linux διανομές. Ο πιο δημοφιλής και εύκολος τρόπος για να εγκαταστήσετε το Docker στο υπάρχον λειτουργικό σύστημα είναι χρησιμοποιώντας τις εντολές yum.

Αυτός ο οδηγός θα δείξει πώς μπορείτε να ρυθμίσετε και να χρησιμοποιήσετε το Docker σε CentOS 7 σε λίγα απλά βήματα.

Προαπαιτούμενα:

Όλες οι εντολές που εκτελείτε σε αυτόν τον οδηγό εκτελούνται ως μη-root χρήστης και, εάν είναι απαραίτητο, η πρόσβαση root θα παρέχεται χρησιμοποιώντας τη λέξη-κλειδί sudo.

Βήμα 1: Ρύθμιση του Docker σε Στιγμιότυπο CentOS 7

Το επίσημο αποθετήριο του CentOS 7 ενδέχεται να μην διαθέτει το πιο πρόσφατο πακέτο εγκατάστασης για το Docker. Σε αυτήν την ενότητα, θα εγκαταστήσετε την τελευταία έκδοση του Docker από το επίσημο αποθετήριο του Docker. Αρχικά, πρέπει να ενημερώσετε τη βάση δεδομένων πακέτων χρησιμοποιώντας:

Αφού ολοκληρωθεί το βήμα της ενημέρωσης, εκτελέστε την παρακάτω εντολή για να κάνετε λήψη και εγκατάσταση της τελευταίας έκδοσης του Docker:

Το Docker έχει πλέον εγκατασταθεί, επομένως μπορείτε να εκκινήσετε τον δαίμονα (daemon) του Docker εκτελώντας την παρακάτω εντολή:

Για να επαληθεύσετε εάν εκτελείται ο δαίμονας του Docker, πληκτρολογήστε τα εξής:

Το αποτέλεσμα της εντολής systemctl status θα πρέπει να είναι παρόμοιο με το παρακάτω κοινόχρηστο αποτέλεσμα, το οποίο δείχνει ότι εκτελείται:

Finally to make sure Docker starts up as you reboot your machine use the command:

Η εγκατάσταση του Docker σάς παρέχει την υπηρεσία Docker καθώς και το βοηθητικό πρόγραμμα πελάτη (Docker command-line client). Στις επόμενες ενότητες του οδηγού, θα μπορέσετε να εξοικειωθείτε περισσότερο με τη χρήση των εντολών Docker.

Μπορείτε επίσης να ρίξετε μια ματιά στον αναλυτικό οδηγό μας για το πώς να εγκαταστήσετε & να λειτουργήσετε το Docker σε Ubuntu στο δημόσιο νέφος.

Βήμα 2: Χρήση των εντολών Docker χωρίς το πρόθεμα Sudo

Οι εντολές Docker απαιτούν δικαιώματα root για να εκτελεστούν. Επομένως, εάν θέλετε να εκτελέσετε τις εντολές, θα πρέπει να προσθέσετε το πρόθεμα sudo. Κατά την εγκατάσταση, δημιουργείται από προεπιλογή μια ομάδα Docker. Εάν προσθέσετε έναν χρήστη στην ομάδα, μπορείτε να εκτελέσετε τις εντολές Docker χωρίς sudo. Η προσπάθεια εκτέλεσης εντολών Docker χωρίς sudo ή χωρίς την προσθήκη του χρήστη στην ομάδα θα έχει ως αποτέλεσμα ένα αποτέλεσμα παρόμοιο με το παρακάτω:

Η προσθήκη του ονόματος χρήστη σας στην ομάδα Docker θα διασφαλίσει ότι δεν θα χρειάζεται να χρησιμοποιείτε το sudo για να εκτελείτε τις εντολές Docker:

Για να προσθέσετε έναν άλλο χρήστη στην ομάδα Docker, μπορείτε απλώς να αντικαταστήσετε το όνομα χρήστη στην εντολή:

Για το υπόλοιπο αυτού του οδηγού, θα υποθέσουμε ότι όλες οι εντολές εκτελούνται από έναν χρήστη που ανήκει στην ομάδα χρηστών Docker. Εάν αυτό δεν συμβαίνει, μπορείτε να χρησιμοποιήσετε το πρόθεμα sudo με τις εντολές.

Βήμα 3: Εκτέλεση των εντολών Docker

Τώρα που έχετε εγκαταστήσει και εκτελείτε το Docker, ας δούμε μερικές εντολές για να εξοικειωθείτε με το βοηθητικό πρόγραμμα γραμμής εντολών του Docker. Οι εντολές Docker συνήθως έχουν τη μορφή:

Για να βρείτε όλες τις διαθέσιμες υποεντολές θα πρέπει να χρησιμοποιήσετε:

Από την έκδοση Docker 20.10.3, η πλήρης λίστα των διαθέσιμων υποεντολών περιλαμβάνει:

Μπορείτε να χρησιμοποιήσετε τη σημαία –help με μια συγκεκριμένη εντολή για να λάβετε περισσότερες πληροφορίες σχετικά με αυτήν:

Για να λάβετε λεπτομερείς πληροφορίες σχετικά με το σύστημα, χρησιμοποιήστε:

Βήμα 4: Εργασία με εικόνες Docker

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

Θα πρέπει να λάβετε ένα αποτέλεσμα όπως το παρακάτω, το οποίο δείχνει ότι το Docker λειτουργεί:

Μπορείτε να βρείτε διάφορες εικόνες Docker στο Docker Hub χρησιμοποιώντας την εντολή αναζήτησης. Για παράδειγμα, δείτε την παρακάτω εντολή για να αναζητήσετε μια εικόνα CentOS:

Το ερώτημα αναζήτησης θα εμφανίσει μια λίστα με όλες τις εικόνες που ταιριάζουν με το υποσυμβολοσειρά. Στη δική σας περίπτωση, το αποτέλεσμα θα πρέπει να είναι κάπως έτσι:

Στα αποτελέσματα αναζήτησης, υπάρχουν διάφορες στήλες που περιγράφουν πληροφορίες σχετικά με την εικόνα. Το OK στη στήλη OFFICIAL καθορίζει ότι η εικόνα δημιουργήθηκε και υποστηρίζεται από την εταιρεία πίσω από την εφαρμογή. Μόλις καταλήξετε στην εικόνα, μπορείτε να τη μεταφορτώσετε στον τοπικό σας υπολογιστή χρησιμοποιώντας την εντολή Docker pull:

Μετά τη λήψη της εικόνας, μπορείτε να εκτελέσετε το container χρησιμοποιώντας την εντολή Docker run. Εάν προσπαθήσετε απευθείας να εκτελέσετε μια εικόνα χωρίς προηγούμενη λήψη, το Docker θα κατεβάσει την εικόνα και θα εκτελέσει το container στη συνέχεια:

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

Θα πρέπει να λάβετε ένα παρόμοιο αποτέλεσμα:

Αργότερα σε αυτόν τον οδηγό, θα μπορείτε να τροποποιήσετε τις εικόνες για να εκτελέσετε τα containers. Αυτές οι νέες εικόνες μπορούν να προστεθούν ή να σταλούν (push) στο Docker Hub και σε άλλα μητρώα (registries) που φιλοξενούν εικόνες Docker.

Βήμα 5: Εκτέλεση ενός Container Διαδραστικά

Υπάρχουν διάφοροι τύποι containers. Το hello-world container που εκτελέσατε στο Βήμα 4 είναι ένας τύπος container που εκτελείται και τερματίζει αφού εμφανίσει ένα μήνυμα. Ένας άλλος τύπος container είναι ο διαδραστικός (interactive). Μπορείτε να χρησιμοποιήσετε διαδραστικά containers με παρόμοιο τρόπο όπως μια εικονική μηχανή.

Ας δημιουργήσουμε ένα container από την τελευταία εικόνα CentOS. Η χρήση των σημαιών -i και -t στην εντολή Docker run θα δώσει διαδραστική πρόσβαση στο CentOS container:

Η γραμμή εντολών θα αλλάξει και θα πρέπει να μοιάζει με το παρακάτω αποτέλεσμα:

Τώρα οποιαδήποτε εντολή εκτελείτε θα τρέχει μέσα στο container. Αυτό είναι παρόμοιο με την εκτέλεση μιας εντολής σε μια εικονική μηχανή. Ας προσπαθήσουμε να εγκαταστήσουμε τον MySQL server στο CentOS container. Μπορείτε να το κάνετε αυτό χρησιμοποιώντας:

Βήμα 6: Οριστικοποίηση Αλλαγών σε ένα Container σε μια Εικόνα Docker

Μετά την εκκίνηση του container, μπορείτε να κάνετε όλες τις λειτουργίες που είναι εφικτές σε μια παρόμοια εικονική μηχανή, όπως η δημιουργία/τροποποίηση αρχείων ή η εγκατάσταση μιας εφαρμογής. Λάβετε υπόψη ότι αυτές οι αλλαγές θα παραμείνουν μόνο για αυτό το container, και αφού καταστρέψετε το container, οι αλλαγές που κάνατε θα χαθούν.

Σε αυτό το μέρος του οδηγού, θα μάθετε πώς να δημιουργείτε μια νέα εικόνα Docker από ένα container με τις αλλαγές που έχετε κάνει. Μετά το Step5 έχετε ένα CentOS container που εκτελείται με εγκατεστημένο διακομιστή MySQL. Αυτό το container είναι πλέον διαφορετικό από την απλή εικόνα CentOS. Μπορείτε να αποθηκεύσετε αυτήν την κατάσταση του container για μελλοντική χρήση. Αρχικά, πρέπει να εξέλθετε από το container χρησιμοποιώντας:

Υποβάλετε (Commit) τις αλλαγές που κάνατε στο container σε μια νέα εικόνα Docker χρησιμοποιώντας την παρακάτω εντολή:

Στην εντολή, το -m αναφέρεται στο μήνυμα υποβολής (commit message) και θα πρέπει βασικά να υποδηλώνει τις αλλαγές που έγιναν, η ετικέτα -a χρησιμοποιείται για την αναφορά του δημιουργού. Το container-id είναι αυτό από το Step5, το οποίο λάβατε μετά την εκτέλεση του container σε διαδραστική λειτουργία (interactive mode), και συνήθως, το αποθετήριο (repository) είναι το όνομα χρήστη σας για το Docker Hub. Για παράδειγμα:

Τώρα που η εικόνα έχει υποβληθεί, η εντολή Docker images θα πρέπει να εμφανίζει τη νέα εικόνα καθώς και τις παλιές:

Το αποτέλεσμα της εντολής θα πρέπει να είναι παρόμοιο με το παρακάτω:

Όπως φαίνεται στο παράδειγμα, μια νέα εικόνα centos-mysql δημιουργείται χρησιμοποιώντας την εικόνα CentOS από το Docker Hub. Η διαφορά στο μέγεθος υποδηλώνει ότι έγιναν κάποιες αλλαγές. Σε αυτό το παράδειγμα, ήταν η προσθήκη του διακομιστή MySQL στο container. Την επόμενη φορά που θα χρειαστείτε ένα container με διακομιστή MySQL, μπορείτε απλά να εκτελέσετε τη νέα εικόνα, και ορίστε! Έχετε ένα CentOS container με προεγκατεστημένο διακομιστή MySQL να εκτελείται.

Βήμα 7: Διαχείριση Docker Containers

Τώρα που είστε εξοικειωμένοι με το Docker, αφού το χρησιμοποιήσετε για κάποιο χρονικό διάστημα, θα έχετε ήδη κάποια ενεργά και κάποια ανενεργά containers. Για να λάβετε τη λίστα με τα ενεργά containers θα πρέπει να χρησιμοποιήσετε:

Θα πρέπει να δείτε ένα παρόμοιο αποτέλεσμα:

Για να εμφανίσετε τόσο τα ενεργά όσο και τα ανενεργά κοντέινερ, θα πρέπει να χρησιμοποιήσετε τη σημαία -a με την εντολή:

Για να βρείτε το τελευταίο κοντέινερ που δημιουργήσατε, μπορείτε να χρησιμοποιήσετε τη σημαία -l:

Για να σταματήσετε ένα εκτελούμενο/ενεργό κοντέινερ, εκτελέστε μια απλή εντολή:

Μπορείτε να βρείτε το container-id στο αποτέλεσμα της εντολής Docker ps.

Βήμα 8: Δημοσίευση των Εικόνων σε ένα Αποθετήριο

Το επόμενο βήμα μετά τη δημιουργία της νέας εικόνας είναι να τη μοιραστείτε με τους φίλους σας. Μπορείτε επίσης να τη διαθέσετε σε όλο τον κόσμο χρησιμοποιώντας το Docker Hub ή οποιοδήποτε άλλο μητρώο. Απαιτείται να συνδεθείτε στο αντίστοιχο μητρώο πριν ανεβάσετε (push) την εικόνα.

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

Μόλις εισαγάγετε τον σωστό κωδικό πρόσβασης και η ταυτοποίηση είναι επιτυχής, μπορείτε να ανεβάσετε την εικόνα σας. Για να ανεβάσετε την εικόνα, χρησιμοποιήστε την παρακάτω εντολή:

Το αποτέλεσμα της εντολής θα είναι παρόμοιο με αυτό:

Μόλις ανεβάσετε την εικόνα, θα πρέπει να εμφανιστεί στον πίνακα ελέγχου του λογαριασμού σας, όπως φαίνεται στην παρακάτω εικόνα:

docker account dashboard

Σε περίπτωση αποτυχίας με παρόμοιο τρόπο, είναι πιθανό να μην έχετε συνδεθεί:

Μπορείτε να συνδεθείτε και να επαναλάβετε την προσπάθεια push.

Συμπέρασμα

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

Μπορείτε επίσης να δείτε τους άλλους οδηγούς μας για το Docker για να μάθετε περισσότερα σχετικά με το τι μπορείτε να κάνετε με το Docker:

Καλή υπολογιστική!

author

Pranay Kapgate

Συγγραφέας · CloudSigma

Ο Preslav Dobrev είναι Δημιουργικός Σχεδιαστής στην CloudSigma, με εστίαση στη συνεπή επιχειρηματική ταυτότητα μέσω παραδοσιακών και καινοτόμων καναλιών μάρκετινγκ. Διαθέτει την ικανότητα να συνδυάζει το καλλιτεχνικό όραμα με το στρατηγικό μάρκετινγκ για τη δημιουργία εντυπωσιακών αφηγήσεων επωνυμίας.

Σχόλια

Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.