Docker Tutorial για αρχάριους: Βασικά, Architecture, Containers

Τι είναι το Docker;

Λιμενεργάτης είναι μια πλατφόρμα ανάπτυξης λογισμικού για εικονικοποίηση με πολλαπλά Operaσυστήματα ting που εκτελούνται στον ίδιο κεντρικό υπολογιστή. Βοηθά στον διαχωρισμό της υποδομής και των εφαρμογών προκειμένου να παραδοθεί το λογισμικό γρήγορα. Σε αντίθεση με τους Hypervisors, που χρησιμοποιούνται για τη δημιουργία VM (Virtual Machines), η εικονικοποίηση στο Docker εκτελείται σε επίπεδο συστήματος, που ονομάζονται επίσης Docker containers.

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

Εικονικοποίηση στο Docker vs Hypervisor
Εικονικοποίηση στο Docker vs Hypervisor

Σε αντίθεση με τα VM που μπορούν να επικοινωνούν με το υλικό του κεντρικού υπολογιστή (π.χ. προσαρμογέας Ethernet για τη δημιουργία περισσότερων εικονικών προσαρμογέων), τα κοντέινερ Docker τρέχουν σε ένα απομονωμένο περιβάλλον πάνω από το λειτουργικό σύστημα του κεντρικού υπολογιστή. Ακόμα κι αν ο οικοδεσπότης σας τρέχει Windows OS, μπορείτε να έχετε εικόνες Linux που εκτελούνται σε κοντέινερ με τη βοήθεια του Hyper-V, το οποίο δημιουργεί αυτόματα ένα μικρό VM για εικονικοποίηση της βασικής εικόνας του συστήματος, σε αυτήν την περίπτωση, Linux.

Γιατί να χρησιμοποιήσετε το Docker;

  • Το Docker είναι λογισμικό υπολογιστή που χρησιμοποιείται για εικονικοποίηση προκειμένου να υπάρχουν πολλαπλάσια Operaσυστήματα ting τρέχει στον ίδιο κεντρικό υπολογιστή
  • Το Docker είναι ο τύπος εφαρμογής πελάτη-διακομιστή που σημαίνει ότι έχουμε πελάτες που αναμεταδίδουν στον διακομιστή
  • Οι εικόνες Docker είναι ο "πηγαίος κώδικας" για τα κοντέινερ μας. τα χρησιμοποιούμε για την κατασκευή
  • Το Dockerfile έχει δύο τύπους μητρώων 1.) δημόσια και 2) ιδιωτικά μητρώα
  • Τα κοντέινερ είναι οι οργανικές μονάδες του τόμου Docker. Με απλά λόγια, μια εικόνα είναι ένα πρότυπο και ένα κοντέινερ είναι ένα αντίγραφο αυτού του προτύπου. Μπορείτε να έχετε πολλά κοντέινερ (αντίγραφα) της ίδιας εικόνας.

Λιμενεργάτης Archiδομή

Τώρα σε αυτό το σεμινάριο Docker κοντέινερ, ας μιλήσουμε για τα κύρια στοιχεία του Docker στο Docker Archiδομή:

Λιμενεργάτης Archiδομή
Λιμενεργάτης Archiδομή

Docker Engine

Το Docker είναι ο τύπος εφαρμογής πελάτη-διακομιστή που σημαίνει ότι έχουμε πελάτες που αναμεταδίδουν στον διακομιστή. Έτσι, ο δαίμονας Docker που ονομάζεται: dockerd είναι η μηχανή Docker που αντιπροσωπεύει τον διακομιστή. Ο δαίμονας docker και οι πελάτες μπορούν να εκτελεστούν στον ίδιο ή απομακρυσμένο κεντρικό υπολογιστή και επικοινωνούν μέσω του δυαδικού προγράμματος-πελάτη γραμμής εντολών, καθώς και ενός πλήρους RESTful API να αλληλεπιδράσει με τον δαίμονα: dockerd.

Εικόνες Docker

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

Μητρώα Docker

Το Docker αποθηκεύει τις εικόνες που δημιουργούμε σε μητρώα. Υπάρχουν δημόσια και ιδιωτικά μητρώα. Η εταιρεία Docker έχει το δημόσιο μητρώο που ονομάζεται Docker hub, όπου μπορείτε επίσης να αποθηκεύσετε τις εικόνες ιδιωτικά. Το Docker Hub έχει εκατομμύρια εικόνες, τις οποίες μπορείτε να αρχίσετε να χρησιμοποιείτε τώρα.

Docker Containers

Τα κοντέινερ είναι οι οργανωτικές μονάδες και μία από τις βασικές αρχές του Docker. Όταν χτίζουμε μια εικόνα και αρχίζουμε να την τρέχουμε. τρέχουμε σε ένα κοντέινερ. Η αναλογία κοντέινερ χρησιμοποιείται λόγω της φορητότητας του λογισμικού που τρέχουμε στο κοντέινερ μας. Μπορούμε να το μετακινήσουμε, με άλλα λόγια, να «αποστείλουμε» το λογισμικό, να τροποποιήσουμε, να το διαχειριστούμε, να το δημιουργήσουμε ή να το απαλλαγούμε, να το καταστρέψουμε, όπως ακριβώς κάνουν τα φορτηγά πλοία με τα πραγματικά εμπορευματοκιβώτια.

Με απλά λόγια, μια εικόνα είναι ένα πρότυπο και ένα κοντέινερ είναι ένα αντίγραφο αυτού του προτύπου. Μπορείτε να έχετε πολλά κοντέινερ (αντίγραφα) της ίδιας εικόνας.

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

Αυτό που έχουμε πολλές εντολές dockers docker pull, docker run.. θα μιλήσουμε περισσότερα γι' αυτό αργότερα.

Πώς να εγκαταστήσετε το Docker σε Linux/Ubuntu

Παρακάτω είναι μια βήμα προς βήμα διαδικασία εγκατάστασης Docker σε Linux/Ubuntu:

Βήμα 1) Για να εγκαταστήσουμε το Docker, πρέπει να χρησιμοποιήσουμε τα πακέτα DEB της ομάδας Docker.

Για αυτό, Κάποια προϋπόθεση Ubuntu απαιτούνται πακέτα.

Χρησιμοποιήστε την παρακάτω εντολή για εγκατάσταση Ubuntu Packages

$ sudo apt-get install \
apt-transport-https \
ca-certificates curl \
software-properties-common

*το σύμβολο "\" δεν είναι απαραίτητο, χρησιμοποιείται για τη νέα γραμμή, αν θέλετε μπορείτε να γράψετε την εντολή χωρίς να χρησιμοποιήσετε το "\" σε μία μόνο γραμμή.

Βήμα 2) Προσθέστε το επίσημο κλειδί Docker GPG με το δακτυλικό αποτύπωμα.

Χρησιμοποιήστε την παρακάτω εντολή Docker για να εισαγάγετε το κλειδί GPG

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Βήμα 3) Στη συνέχεια, προσθέστε το αποθετήριο Docker APT.

Χρησιμοποιήστε την παρακάτω εντολή Docker για να προσθέσετε το αποθετήριο

$ sudo add-apt-repository \ 
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \ 
$(lsb_release -cs) \
stable"

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

Η εντολή lsb_release θα πρέπει να συμπληρώνει το Ubuntu έκδοση διανομής του κεντρικού υπολογιστή σας.

Βήμα 4) Αφού προσθέσετε το κλειδί GPG,

Ενημερώστε τις πηγές APT χρησιμοποιώντας την παρακάτω εντολή Docker

$ sudo apt-get update

Μπορούμε τώρα να εγκαταστήσουμε το ίδιο το πακέτο Docker.

Βήμα 5) Μόλις ενημερωθούν οι πηγές APT,

Ξεκινήστε την εγκατάσταση των πακέτων Docker Ubuntu χρησιμοποιώντας την παρακάτω εντολή Docker

$ sudo apt-get install docker-ce

Η παραπάνω εντολή εγκαθιστά το Docker και άλλα πρόσθετα απαιτούμενα πακέτα. Πριν από το Docker 1.8.0, το όνομα πακέτου ήταν lxc-docker και μεταξύ του Docker 1.8 και 1.13, το όνομα του πακέτου ήταν docker-engine.

ΣΗΜΕΊΩΣΗ: Docker για Windows Απαιτεί Windows 10 Pro ή Enterprise έκδοση 14393 ή Windows διακομιστή 2016 RTM για εκτέλεση

Πώς να χρησιμοποιήσετε το Docker χρησιμοποιώντας βασικές εντολές Docker

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

Η πιο βασική εντολή που πρέπει να εκτελέσουμε μετά την εγκατάσταση του Docker είναι το $ docker info όπως είπαμε προηγουμένως.

$ sudo docker info

Θα πρέπει να έχετε το παρόμοιο ή το ακόλουθο αποτέλεσμα

Χρησιμοποιήστε το Docker χρησιμοποιώντας τις Βασικές εντολές Docker

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

$ sudo docker pull alpine

Με αυτήν την εντολή λέμε στον docker να κατεβάσει την εικόνα alpine, να την τραβήξει από το δημόσιο μητρώο, την πιο πρόσφατη έκδοση που έχει οριστεί από προεπιλογή.

*Το alpine είναι μια ελάχιστη εικόνα Docker που βασίζεται στο Alpine Linux με πλήρες ευρετήριο πακέτων και μέγεθος μόνο 5 MB.

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

$ sudo docker run -i -t alpine /bin/bash

Εάν εκτελέσουμε την εντολή, θα σταλούμε απευθείας στο τερματικό του alpine. Η σημαία -i κρατά το STDIN ανοιχτό από το κοντέινερ, ακόμα και όταν δεν είστε συνδεδεμένοι σε αυτό. Αυτή η επίμονη τυπική είσοδος είναι το μισό από αυτό που χρειάζεστε για ένα διαδραστικό κέλυφος. Η σημαία -t είναι το άλλο μισό και που δίνει εντολή στον Docker να εκχωρήσει ένα ψευδο-tty στο κοντέινερ. Αυτό μας προσφέρει ένα διαδραστικό κέλυφος στο νέο κοντέινερ. Βγαίνουμε από το κοντέινερ με μια απλή εντολή εξόδου.

Τώρα σε αυτό το σεμινάριο βασικών Docker, μπορούμε να δοκιμάσουμε να εκτελέσουμε ένα Ubuntu εικόνα.

$ sudo docker run -it ubuntu /bin/bash

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

$ sudo docker run –-name our_container -it ubuntu /bin/bash

και βγαίνουμε ξανά.

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

$ sudo docker start container_name

Και διακόψτε τη σύνταξη του κοντέινερ Docker stop container_name

$ sudo docker stop container_name

Αν θέλουμε να δούμε όλα τα κοντέινερ που τρέχουν, απλώς τρέχουμε

$ docker ps

Και για όλα τα κοντέινερ προσθέτουμε "- a" στο τέλος αυτής της ίδιας εντολής, όπως αυτό το docker ps -a.

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

Όταν εκτελούμε κοντέινερ, θα θέλαμε επίσης να γνωρίζουμε πόσους πόρους χρησιμοποιούν, για το σκοπό αυτό μπορούμε να χρησιμοποιήσουμε την εντολή.

$ docker stats

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

$ sudo docker images

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

Τι είναι η εικονικοποίηση;

Νωρίτερα, η διαδικασία για την ανάπτυξη μιας υπηρεσίας ήταν αργή και επίπονη. Πρώτον, οι προγραμματιστές έγραφαν κώδικα. Στη συνέχεια, η ομάδα επιχειρήσεων θα το ανέπτυξε σε γυμνά μεταλλικά μηχανήματα, όπου έπρεπε να ψάξουν για εκδόσεις βιβλιοθήκης, patches και μεταγλωττιστές γλώσσας για να λειτουργήσει ο κώδικας. Εάν υπήρχαν κάποια σφάλματα ή σφάλματα, η διαδικασία θα ξεκινούσε ξανά από την αρχή, οι προγραμματιστές θα το διόρθωναν και στη συνέχεια η επιχειρησιακή ομάδα ήταν εκεί για να αναπτυχθεί.

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

Σημαντικές εντολές Docker

Ακολουθούν οι σημαντικές εντολές Docker:

εντολή Περιγραφή
πληροφορίες αποβάθρας Εντολή Πληροφοριών
λιμνοδεξαμενής-τραβήγματος Κατεβάστε μια εικόνα
docker run -i -t image_name /bin/bash Εκτελέστε την εικόνα ως κοντέινερ
docker start our_container Έναρξη δοχείου
docker stop container_name Σταματήστε το δοχείο
docker ps Λίστα με κοντέινερ που τρέχουν
στατιστικά αποβάθρας Πληροφορίες κοντέινερ
εικόνες docker Λίστα εικόνων που λήφθηκαν
Εκκαθάριση Docker Σκοτώστε όλα τα δοχεία που τρέχουν.

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

Περίληψη

  • Το Docker είναι μια πλατφόρμα ανάπτυξης λογισμικού για εικονικοποίηση με πολλαπλά Operaσυστήματα ting που εκτελούνται στον ίδιο κεντρικό υπολογιστή. Βοηθά στον διαχωρισμό της υποδομής και των εφαρμογών προκειμένου να παραδοθεί το λογισμικό γρήγορα.
  • Λιμενεργάτης Archiδομή: Docker Engine, Docker Images, Docker Registries, Docker Containers.
  • Μηχανή Docker: Το Docker είναι ο τύπος εφαρμογής πελάτη-διακομιστή που σημαίνει ότι έχουμε πελάτες που αναμεταδίδουν στον διακομιστή. Έτσι, ο δαίμονας Docker που ονομάζεται: dockerd είναι η μηχανή Docker που αντιπροσωπεύει τον διακομιστή.
  • Εικόνες Docker: Οι εικόνες Docker είναι ο "πηγαίος κώδικας" για τα κοντέινερ μας. τα χρησιμοποιούμε για την κατασκευή κοντέινερ. Μπορούν να έχουν προεγκατεστημένο λογισμικό που επιταχύνει την ανάπτυξη. Είναι φορητές και μπορούμε να χρησιμοποιήσουμε υπάρχουσες εικόνες ή να δημιουργήσουμε τις δικές μας.
  • Μητρώα Docker: Το Docker αποθηκεύει τις εικόνες που δημιουργούμε σε μητρώα. Υπάρχουν δημόσια και ιδιωτικά μητρώα. Η εταιρεία Docker διαθέτει δημόσιο μητρώο που ονομάζεται Docker hub, όπου μπορείτε επίσης να αποθηκεύσετε τις εικόνες ιδιωτικά. Το Docker Hub έχει εκατομμύρια εικόνες, τις οποίες μπορείτε να αρχίσετε να χρησιμοποιείτε τώρα.
  • Docker Containers: Τα κοντέινερ είναι οι οργανωτικές μονάδες και μία από τις βασικές αρχές του Docker. Όταν χτίζουμε μια εικόνα και αρχίζουμε να την τρέχουμε. τρέχουμε σε ένα κοντέινερ. Η αναλογία κοντέινερ χρησιμοποιείται λόγω της φορητότητας του λογισμικού που τρέχουμε στο κοντέινερ μας.

Συνοψίστε αυτήν την ανάρτηση με: