Προγραμματισμός

Εκπαιδευτικό πρόγραμμα Docker: Ξεκινήστε με το Docker Hub

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

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

Εξερευνήστε το Docker Hub

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

Τιμές Docker Hub

Δεν υπάρχει χρέωση για την απόκτηση κοντέινερ από το Docker Hub. Επιπλέον, αν θέλετε πλήθος εμπορευματοκιβώτια στο Docker Hub και έχετε μέτριες ανάγκες, ίσως να μην χρειαστεί να πληρώσετε για αυτό. Το δωρεάν πρόγραμμα, το οποίο υποστηρίζει ένα ιδιωτικό αποθετήριο και μια παράλληλη έκδοση (περισσότερα σε αυτό αργότερα), είναι συνήθως αρκετό για έναν μεμονωμένο προγραμματιστή. Η τιμολόγηση για άλλα σχέδια (περισσότερα ιδιωτικά αποθετήρια, πιο παράλληλες κατασκευές) κυμαίνεται από 7 $ έως 100 $ ανά μήνα.

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

Οργανώσεις Docker Hub για ομάδες

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

Σημειώστε ότι το Docker Hub απαιτεί τα ονόματα οργανισμού να έχουν μήκος μεγαλύτερο από τρεις χαρακτήρες. Με άλλα λόγια, δεν μπορείτε να έχετε έναν οργανισμό με το όνομα "dev". Αυτός είναι προφανώς ένας αρχιτεκτονικός περιορισμός που ο Docker δεν μπορεί να επιλύσει.

Αποθήκες Docker Hub

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

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

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

Ορισμένα αποθετήρια επισημαίνονται ως επίσημα αποθετήρια. Αυτές παρέχουν επιμελημένες εικόνες Docker που προορίζονται να είναι οι προεπιλεγμένες εκδόσεις κοντέινερ για ένα συγκεκριμένο έργο ή εφαρμογή (π.χ. Nginx, Ubuntu, MySQL). Το Docker λαμβάνει επιπλέον μέτρα για να επαληθεύσει την προέλευση και την ασφάλεια των επίσημων εικόνων.

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

Docker push και Docker pull

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

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

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

Αυτοματοποιημένη έκδοση στο Docker Hub

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

Οι αυτοματοποιημένες κατασκευές λειτουργούν συνδέοντας μια εικόνα σε ένα περιβάλλον δημιουργίας, δηλαδή ένα repo που περιέχει ένα Dockerfile που φιλοξενείται σε μια υπηρεσία όπως το GitHub ή το Bitbucket. Παρόλο που το Docker Hub σας περιορίζει σε μία κατασκευή κάθε πέντε λεπτά και δεν υπάρχει ακόμη υποστήριξη για μεγάλα αρχεία Git ή κοντέινερ Windows, οι αυτοματοποιημένες κατασκευές είναι ωστόσο χρήσιμες για έργα που ενημερώνονται καθημερινά ή ακόμη και ανά ώρα.

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

Ένας άλλος μηχανισμός ευκολίας για προγραμματιστές στο Docker Hub είναι τα webhooks. Κάθε φορά που συμβαίνει ένα συγκεκριμένο συμβάν που περιλαμβάνει ένα αποθετήριο - μια εικόνα ξαναχτίζεται ή προστίθεται μια νέα ετικέτα - το Docker Hub μπορεί να στείλει ένα αίτημα POST σε ένα δεδομένο τελικό σημείο. Θα μπορούσατε να χρησιμοποιήσετε webhooks για να αναπτύξετε ή να δοκιμάσετε αυτόματα μια εικόνα κάθε φορά που ξαναχτίζεται ή για να αναπτύξετε την εικόνα μόνο εάν περάσει τη δοκιμή.