Πώς να εγκαταστήσετε και να χρησιμοποιήσετε το Docker στο Ubuntu 20.04


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

Αυτό το άρθρο είναι ένα καλό σημείο εκκίνησης για αρχάριους να μάθουν πώς να εγκαταστήσουν και να χρησιμοποιούν το Docker σε ένα σύστημα Linux Ubuntu 20.04 με ορισμένες βασικές εντολές. Για αυτόν τον οδηγό, θα εγκαταστήσουμε την Έκδοση Κοινότητας Docker (CE).

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

  • Μια εγκατάσταση του διακομιστή Ubuntu 20.04.
  • Ένας χρήστης με δικαιώματα εκτέλεσης εντολής sudo.

Εγκατάσταση του Docker στο Ubuntu 20.04

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

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"

Τώρα ενημερώστε την προσωρινή μνήμη πακέτου APT για να συμπεριλάβει τα νέα πακέτα Docker στο σύστημα χρησιμοποιώντας την ακόλουθη εντολή.

sudo apt update

Στη συνέχεια, εγκαταστήστε το πακέτο Docker όπως φαίνεται.

sudo apt install docker-ce

Κατά τη διαδικασία εγκατάστασης του πακέτου Docker, το πρόγραμμα εγκατάστασης πακέτου ενεργοποιεί το systemd (διαχείριση συστήματος και υπηρεσιών) για αυτόματη εκκίνηση και ενεργοποίηση της υπηρεσίας Docker. Χρησιμοποιώντας τις ακόλουθες εντολές για να επιβεβαιώσετε ότι η υπηρεσία docker είναι ενεργή και ότι είναι ενεργοποιημένη για αυτόματη εκκίνηση κατά την εκκίνηση του συστήματος. Επίσης, ελέγξτε την κατάστασή του:

sudo systemctl is-active docker
sudo systemctl is-enabled docker
sudo systemctl status docker

Υπάρχουν πολλές άλλες εντολές systemctl για τη διαχείριση και τον έλεγχο της υπηρεσίας docker που περιλαμβάνει τα ακόλουθα:

sudo systemctl stop docker			#stop the docker service
sudo systemctl start docker			#start the docker service
sudo systemctl  restart docker		#restart the docker service

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

docker version

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

 
docker

Διαχειριστείτε το Docker ως χρήστη χωρίς root με την εντολή sudo

Από προεπιλογή, ο δαίμονας Docker συνδέεται σε μια υποδοχή UNIX (αντί για μια θύρα TCP) που ανήκει στη ρίζα χρήστη. Επομένως, ο δαίμονας Docker εκτελείται πάντα ως χρήστης ρίζας και για να εκτελέσετε την εντολή docker, πρέπει να χρησιμοποιήσετε το sudo.

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

Για να εκτελέσετε την εντολή docker χωρίς sudo, προσθέστε όλους τους μη root χρήστες που υποτίθεται ότι έχουν πρόσβαση στο docker, στην ομάδα docker ως εξής. Σε αυτό το παράδειγμα, η εντολή προσθέτει τον τρέχοντα συνδεδεμένο χρήστη ($USER) ή το όνομα χρήστη στην ομάδα docker:

sudo usermod -aG docker $USER
OR
sudo usermod -aG docker username

Για να ενεργοποιήσετε τις αλλαγές σε ομάδες, εκτελέστε την ακόλουθη εντολή:

newgrp docker 
groups

Στη συνέχεια, βεβαιωθείτε ότι μπορείτε να εκτελέσετε εντολές docker χωρίς sudo. Η ακόλουθη εντολή κατεβάζει μια δοκιμαστική εικόνα και την εκτελεί σε ένα κοντέινερ. Μόλις το κοντέινερ εκτελείται, εκτυπώνει ένα ενημερωτικό μήνυμα και εξέρχεται. Αυτός είναι επίσης ένας άλλος τρόπος για να ελέγξετε εάν η εγκατάστασή σας λειτουργεί καλά.

docker run hello-world

Εργασία με Docker Images

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

Μπορείτε να αναζητήσετε μια εικόνα centos στο Docker Hub με την ακόλουθη εντολή:

docker search centos 

Για να κάνετε λήψη μιας εικόνας τοπικά, χρησιμοποιήστε την εντολή έλξης. Αυτό το παράδειγμα δείχνει πώς να κάνετε λήψη της επίσημης εικόνας centos.

docker pull centos

Μόλις ολοκληρωθεί η λήψη, μπορείτε να παραθέσετε τις διαθέσιμες εικόνες στο τοπικό σας σύστημα.

docker images

Εάν δεν χρειάζεστε πλέον μια εικόνα, μπορείτε να την αφαιρέσετε από το σύστημά σας.

docker rmi centos
OR
docker rmi centos:latest    #where latest is the tag

Λειτουργία και διαχείριση Docker Containers

Ένα κοντέινερ Docker είναι μια διαδικασία που εκτελείται εγγενώς σε Linux και μοιράζεται τον πυρήνα του κεντρικού υπολογιστή με άλλα κοντέινερ. Όσον αφορά μια εικόνα Docker, ένα κοντέινερ είναι απλώς μια τρέχουσα εικόνα.

Για να ξεκινήσετε ένα κοντέινερ με βάση τη νέα σας εικόνα centos, εκτελέστε την ακόλουθη εντολή όπου “centos ” είναι το όνομα της τοπικής εικόνας και το “cat /etc/centos-release ” είναι η εντολή που εκτελείται στο κοντέινερ:

docker run centos cat /etc/centos-release

Ένα κοντέινερ εκτελεί μια διακριτή διαδικασία που είναι απομονωμένη στο ότι έχει τη δική του: σύστημα αρχείων, δικτύωση και απομονωμένο δέντρο διεργασιών ξεχωριστά από τον κεντρικό υπολογιστή. Λάβετε υπόψη ότι μπορείτε να χειριστείτε ένα κοντέινερ χρησιμοποιώντας το ID, το πρόθεμα ID ή το όνομα του κοντέινερ όπως φαίνεται παρακάτω. Η παραπάνω διαδικασία κοντέινερ τερματίζεται μετά την εκτέλεση της εντολής.

Για να παραθέσετε τα κοντέινερ Docker, χρησιμοποιήστε την εντολή docker ps ως εξής. Χρησιμοποιήστε τη σημαία -l για να εμφανίσετε το πιο πρόσφατο κοντέινερ που δημιουργήθηκε σε όλες τις καταστάσεις:

docker ps
OR
docker ps -l

Για να εμφανίσετε όλα τα κοντέινερ, συμπεριλαμβανομένων αυτών που έχουν βγει, χρησιμοποιήστε τη σημαία -a.

docker ps -a

Μπορείτε επίσης να ξεκινήσετε ένα κοντέινερ χρησιμοποιώντας το αναγνωριστικό του κοντέινερ μετά την έξοδό του. Για παράδειγμα, στην προηγούμενη εντολή, το αναγνωριστικό κοντέινερ είναι 94c35e616b91. Μπορούμε να ξεκινήσουμε το κοντέινερ όπως φαίνεται (σημειώστε ότι θα εκτελέσει την εντολή και θα βγει):

docker start 94c35e616b91

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

docker stop 94c35e616b91

Το Docker σάς επιτρέπει επίσης να εκχωρήσετε ένα όνομα σε ένα κοντέινερ χρησιμοποιώντας την επιλογή --name κατά την εκτέλεση του.

docker run --name my_test centos cat /etc/centos-release
docker ps -l

Τώρα μπορείτε να χρησιμοποιήσετε το όνομα του κοντέινερ για να διαχειριστείτε (έναρξη, διακοπή, στατιστικά, αφαίρεση κ.λπ.) το κοντέινερ:

docker stop my_test
docker start my_test
docker stats my_test
docker rm my_test

Εκτέλεση μιας διαδραστικής συνεδρίας σε ένα Docker Container

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

docker run --name my_test -it centos

Στην παραπάνω εντολή, οι διακόπτες -it λένε στον Docker να εκχωρήσει ένα ψευδο-TTY συνδεδεμένο στο stdin του κοντέινερ, δημιουργώντας έτσι ένα διαδραστικό κέλυφος bash στο κοντέινερ.

Μπορείτε να βγείτε εκδίδοντας την εντολή εξόδου όπως φαίνεται.

exit

Εάν προτιμάτε να μην βγείτε, μπορείτε να αποκολλήσετε από ένα δοχείο και να το αφήσετε να λειτουργεί. Για να το κάνετε αυτό, χρησιμοποιήστε την ακολουθία πλήκτρων CTRL+p και μετά CTRL+q.

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

docker attach my_test

Επιπλέον, μπορείτε να ξεκινήσετε ένα κοντέινερ σε λειτουργία αποσύνδεσης χρησιμοποιώντας τη σημαία -d. Στη συνέχεια, χρησιμοποιήστε την εντολή attach για να επισυνάψετε τις τυπικές ροές εισόδου, εξόδου και σφαλμάτων του τερματικού σας στο τρέχον κοντέινερ:

docker run --name my_test -d -it centos
docker attach my_test

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

docker kill my_test

Αυτό είναι όλο! Σε αυτόν τον οδηγό, έχουμε καλύψει τον τρόπο εγκατάστασης και χρήσης του Docker CE στο Ubuntu 20.04 Linux. Εάν έχετε οποιεσδήποτε ερωτήσεις, χρησιμοποιήστε την παρακάτω φόρμα σχολίων για να μας ρωτήσετε.