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

12 εργαλεία ανοιχτού κώδικα που κάνουν το Docker καλύτερο

Blink και μπορεί να χάσετε μερικές από τις πιο ενδιαφέρουσες εξελίξεις γύρω από το Docker αυτές τις μέρες. Το Kubernetes μπορεί να κερδίζει περισσότερα από το hot-new-tool thunder, αλλά το Docker συνεχίζει να προσφέρει «αρκετά» ενορχήστρωση εμπορευματοκιβωτίων για τα περισσότερα αναπτυξιακά έργα και αναπτύξεις.

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

Κατάδυση

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

Διεπαφή χρήστη σύνθεσης Docker

Το Docker Compose UI είναι ένα έργο με άδεια MIT που παρέχει στο Docker Compose μια διεπαφή χρήστη που βασίζεται στον Ιστό, η οποία έχει δημιουργηθεί χρησιμοποιώντας το πλαίσιο της Python's Flask. Τα κοντέινερ μπορούν να εκτελεστούν τοπικά ή σε απομακρυσμένο κεντρικό υπολογιστή και το ίδιο το περιβάλλον εργασίας Docker Compose διατίθεται σε κοντέινερ Docker για ευκολία. Λάβετε υπόψη ότι ορισμένα από τα έργα επίδειξης που παρέχονται με το Docker Compose UI δεν μπορούν να κλιμακωθούν "λόγω διένεξης των δημοσιευμένων θυρών"

Ντάκλι

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

Σκονισμένος

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

Έλσι

Ο Έλσι περιγράφεται ως «ένα εργαλείο με πολλές γνώσεις, πολλαπλών γλωσσών,» χρησιμοποιώντας το Docker και το Docker Compose. Το Elsy επιτρέπει τη δημιουργία ενός χώρου αποθήκευσης λογισμικού με συνέπεια σε όλα τα περιβάλλοντα και διατηρεί τα εργαλεία που απαιτούνται για την εκτέλεση του build στο ελάχιστο, ανεξάρτητα από τη γλώσσα που χρησιμοποιείται. Ένα χαρακτηριστικό χαρακτηριστικό,δοκιμή blackbox, επιτρέπει σε οποιοδήποτε δομημένο δοχείο να δοκιμάζεται με τρόπο που να αντικατοπτρίζει την πραγματική χρήση παραγωγής του. Για παράδειγμα, κάθε υπηρεσία που χρειάζεται μια βάση δεδομένων θα έχει ρυθμιστεί ένα κοντέινερ βάσης δεδομένων και η Elsy θα καταστρέψει αυτόματα το περιβάλλον δοκιμής μετά.

Γκέκερ

Εδώ είναι ένα για τους θαυμαστές της γλώσσας Go. Το Gockerize είναι ένα εργαλείο με άδεια BSD για την κατασκευή στατικών δυαδικών Go και τη συσκευασία τους σε ελάχιστα δοχεία Go. Δημιουργήθηκε από τους λαούς πίσω από το AeroFS, το Gockerize περιλαμβάνει χαρακτηριστικά όπως «τη δυνατότητα αυτόματης εφαρμογής ενός σετ μπαλωμάτων στην τυπική βιβλιοθήκη του Golang. κάτι που, αν και πολύ σπάνια χρειάζεται, μπορεί να είναι σωτήριο », σύμφωνα με την ανάρτηση στο blog που παρουσιάζει το έργο. Το Gockerize δεν βασίζεται πολύ εξωτερικά - μόνο Go, Docker 1.5 ή υψηλότερο και το κέλυφος Bash.

Συνήθεια

Ένα άλλο εργαλείο κατασκευής με βάση το Docker, το Habitus χρησιμοποιεί ένα αρχείο Dockerfile και ένα αρχείο build.yml για να δημιουργήσει πολλαπλές δομές κοντέινερ που περιέχουν οποιονδήποτε αριθμό αυθαίρετων εντολών. Κάθε βήμα στο build μπορεί να γίνει για να βασιστεί σε κάποιο προηγούμενο βήμα, για να διασφαλίσει ότι τυχόν δύσκολες εξαρτήσεις πολλαπλών βημάτων λειτουργούν σωστά. Το Habitus υποστηρίζει επίσης τη συμπερίληψη μυστικών σε μια διαδικασία κατασκευής και το κάνει χωρίς να αφήνει ίχνη στην εικόνα.

Υπερπληθωρισμός

Χρεώνεται ως "hypervisor-agnostic εργαλείο που σας επιτρέπει να εκτελείτε εικόνες Docker σε οποιονδήποτε hypervisor". Το Hyper χρησιμοποιεί το Docker, το QEMU και το Xen για να επιτύχει τους στόχους του. Οι δημιουργοί του εργαλείου ισχυρίζονται ότι το Hyper χρησιμοποιεί ελάχιστους πόρους (28MB), εκκινεί με ταχύτητα ενός κοντέινερ και όχι VM, προσφέρει υψηλή απόδοση και παρέχει απομόνωση που επιβάλλεται από υλικό για εφαρμογές. Μία προτεινόμενη περίπτωση χρήσης για το Hyper είναι η δημιουργία εφαρμογών που βασίζονται στο Docker.

Κιματικός

Μερικές φορές απλά θέλετε ένα GUI. Το Kitematic σάς παρέχει ένα GUI για τη διαχείριση κοντέινερ Docker σε MacOS, Ubuntu Linux και Windows. Οι πρόσθετες ευκολίες του Kitematic περιλαμβάνουν την αυτόματη έκθεση δεδομένων όγκου κοντέινερ μέσω του συστήματος αρχείων, την παροχή ενός ενσωματωμένου CLI στο Docker και τον συγχρονισμό αυτόματα της κατάστασής του ώστε να ταιριάζει με τις αλλαγές στο Docker (π.χ. όταν προσθέτετε νέες εικόνες κοντέινερ).

Αποσύνδεση

Ο κόσμος της Unix έχει μακρά παράδοση να συνδυάζει μικρά προγράμματα για την επίλυση μεγάλων προβλημάτων. Το Logspout εφαρμόζει την ίδια φιλοσοφία στη διαχείριση αρχείων καταγραφής από κοντέινερ Docker. Το Logspout διοχετεύει όλα τα αρχεία καταγραφής (stdout καιstderr, κυρίως) από όλα τα κοντέινερ σε έναν συγκεκριμένο κεντρικό υπολογιστή, σε όποιο στόχο εσείς θεωρείτε καλύτερα. Τα προκύπτοντα συγκεντρωτικά αρχεία καταγραφής μπορούν να προβληθούν σε πραγματικό χρόνο απλώς διαβάζοντας μια ροή HTTP.

Portainer

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

Whalebrew

Οι χρήστες MacOS πρέπει να είναι εξοικειωμένοι με το Homebrew, το ad hoc σύστημα διαχείρισης πακέτων για MacOS. Το Whalebrew σάς επιτρέπει να εγκαταστήσετε εικόνες Docker και να τις εκτελέσετε απευθείας από τη γραμμή εντολών με ένα ψευδώνυμο, σαν να ήταν τοπικά εγκατεστημένα εκτελέσιμα. Η εγκατάσταση πακέτων είναι τόσο εύκολη όσο η πληκτρολόγηση εγκατάσταση whalebrew . Τα πακέτα που έχουν επιμεληθεί μέσω του αποθετηρίου του Whalebrew λειτουργούν καλύτερα, αλλά θεωρητικά οποιαδήποτε εικόνα Docker που λαμβάνει εντολές CLI θα πρέπει να λειτουργεί.