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

Τι είναι το Πρόγραμμα Moby του Docker;

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

Κατά τη διάρκεια του DockerCon 2017, έγιναν μερικές σημαντικές ανακοινώσεις, συμπεριλαμβανομένου του Moby Project.

Τι είναι το Πρόγραμμα Moby; Είναι ένα πλαίσιο για τη συναρμολόγηση εξειδικευμένων συστημάτων εμπορευματοκιβωτίων χωρίς να ανακαλύπτει ξανά τον τροχό.

Το Moby Project είναι να Docker τι είναι το Fedora στο Red Hat Enterprise Linux. - Solomon Hykes, Docker CTO / Ιδρυτής

Καθώς το έργο κοντέινερ ισοδυναμεί με το έργο Fedora, ο τρόπος κατασκευής του Docker αλλάζει.

Η Red Hat έκανε καλή δουλειά στις πρώτες μέρες της σύγχυσης του RHEL στο ότι οριοθέτησε το έργο από το προϊόν. χώρισαν το Fedora από το RHEL. Ο Docker βλέπει αυτήν την προσέγγιση ως έναν τρόπο για την καλύτερη συμμετοχή της κοινότητας. Τα όρια μεταξύ της κοινότητας και των προϊόντων ήταν ασαφή στο παρελθόν. Οι άνθρωποι δεν μπορούσαν απαραίτητα να πουν πότε συνεισφέρουν στο έργο έναντι του προϊόντος. Αυτός ο διαχωρισμός του κωδικού μεταξύ του χώρου αποθήκευσης moby / moby και του αποθετηρίου docker / docker διευκρινίζει αυτήν τη διάκριση.

Η Moby θα μετατρέψει το Docker από έναν μονολιθικό κινητήρα σε μια εργαλειοθήκη για να συναρμολογήσει τα εξαρτήματά του σε διαφορετικές διαμορφώσεις. Το Moby Project θα πρέπει να ενθαρρύνει την επαναχρησιμοποίηση καθενός από τα στοιχεία. Το Docker έχει μια ιστορία επιτυχίας σε αυτό το θέμα και μπορεί να μετρηθεί κατά την επαναχρησιμοποίησή τους πέρα ​​από τον δημιουργό του

  • Γύρισαν το OCI / runc και είναι πλέον το καθιερωμένο πρότυπο για το χρόνο εκτέλεσης του κοντέινερ και τις μορφές εικόνας.
  • Γύρισαν το containerd και τώρα είναι το de facto βιομηχανικό πρότυπο για τους χρόνους εκτέλεσης κοντέινερ με συνεισφορές από όλους τους μεγάλους προμηθευτές cloud και το 99% της βάσης εγκατάστασης (εκατομμύρια κόμβοι παγκοσμίως)
  • Ο συμβολαιογράφος έχει γίνει η πιο ώριμη εφαρμογή του TUF της βιομηχανίας και ένας κόμβος συνεργασίας για την κοινότητα ασφαλείας.
  • Η διανομή Docker είναι το θεμέλιο ανοιχτού κώδικα για δώδεκα εμπορικά προϊόντα.

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

Προέκυψε κάποια σύγχυση σχετικά με το έργο. Η ομάδα του Docker ανακοίνωσε καλά το έργο στους συνεισφέροντες στο συνέδριο και στους περισσότερους συντηρητές. Ωστόσο, οι άνθρωποι που αλληλεπιδρούν πιο άνετα στην κοινότητα ήταν έκπληκτοι και ασαφείς σχετικά με τον σκοπό και τον αντίκτυπό της, εκφράζοντας την απογοήτευσή τους για την μη κατανόηση του τρόπου με τον οποίο τα διάφορα κομμάτια ταιριάζουν μεταξύ τους ή τι κάνουν τα νέα χαρακτηριστικά (π.χ. LinuxKit)

Εν συντομία, το έργο @moby Project: εντός και εκτός. pic.twitter.com/K8Rn9YYtVs

- Solomon Hykes (@solomonstre) 22 Απριλίου 2017

Το Moby Project επιτρέπει στους κατασκευαστές συστημάτων να δημιουργούν άλλα έργα πάνω από τα ίδια εργαλεία. Ένας δημιουργός συστήματος μπορεί να θέλει να εκτελέσει αυτές τις συγκροτήσεις διαφορετικά, ανάλογα με το αν εκτελούνται σε μια μικρή συσκευή IoT ή εάν εκτελούνται σε ένα μεγάλο σύστημα με GPU.

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

Το Moby Project μπορεί να περιγραφεί σε τέσσερα επίπεδα:

  1. Όλα τα εξαρτήματα ανάντη
  2. Moby
  3. Docker CE
  4. Docker ΕΕ
David Chung / Docker Inc.

Η οργάνωση του έργου σε στρώματα θα πρέπει να καθησυχάσει το φυσικό περιεχόμενο που προκύπτει όταν πρέπει να ληφθούν αποφάσεις μεταξύ του τι λειτουργεί για το έργο έναντι του προϊόντος. Το Docker ως προϊόν θα προσθέσει απόψεις που ενημερώνονται από τους χρήστες τους (για να είναι ευκολότεροι για τους χρήστες τους). Για παράδειγμα, το containerd δεν έχει προεπιλεγμένο μητρώο, ενώ το Docker θα έχει το Docker hub ως το προεπιλεγμένο ή το Docker CLI, παρέχοντας μια εύκολη αναζήτηση για ανοιχτά ζητήματα που έχετε για το έργο σας στο φόρουμ / σύστημα υποστήριξης του Docker. Οι χρήστες δεν επηρεάζονται. Οι χρήστες θα συνεχίσουν να αλληλεπιδρούν με το Docker με τον ίδιο τρόπο.

  • Προγραμματιστές εφαρμογών αναζητώντας έναν εύκολο τρόπο εκτέλεσης των εφαρμογών τους σε κοντέινερ μπορεί να κοιτάξει στο Docker CE.
  • Επιχείρηση IT ψάχνοντας για μια έτοιμη προς χρήση, εμπορικά υποστηριζόμενη πλατφόρμα κοντέινερ μπορεί να κοιτάξει στο Docker EE.

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

  • Κατασκευαστές συστημάτων Το να αναζητάτε στοιχεία από το Πρόγραμμα Moby μπορεί να καινοτομεί χωρίς να είναι συνδεδεμένο με το Docker.

Διακυβέρνηση έργου

Το Moby Project είναι ανοιχτό και θα είναι ένα κοινοτικό έργο. Η Docker Inc. έχει γενική τάση να δωρίζει μεμονωμένα στοιχεία σε αυτό το έργο σε άλλα διοικητικά όργανα, όπου απαιτείται. Το Containerd πρέπει να ξεχωρίζει από το Moby org γιατί δωρίστηκε στο CNCF. Τα μακροπρόθεσμα μεμονωμένα έργα θα πρέπει τελικά να μετακινηθούν και να μεταβούν σε άλλα αποθετήρια.

Συχνές ερωτήσεις για το έργο Moby

  • Τώρα που ο Moby διαλύει τον μονόλιθο, θα ενσωματωθούν άλλες γλώσσες εκτός από το Go;
    • Για LinuxKit — Υπάρχει δέσμευση για τους Ocaml και Rust. Δεν υπάρχει γενικό σχέδιο αλλαγής γλωσσών.
  • Θα αντικατασταθεί το REST με gRPC;
    • Η Docker Inc γενικά επιθυμεί να αφήσει το REST API ως σταθερή πρόσοψη, ενώ μεταφέρει εσωτερικές επικοινωνίες μεταξύ έργων Moby στο gRPC. Ένα στοιχείο μπορεί να αλλάξει γλώσσες και να μην το επηρεάσει άλλα στοιχεία (όπως οι μικροσυσκευές παρέχουν επιλογή). Το Engine διαθέτει HTTP REST API και όλα τα στοιχεία χαμηλότερου επιπέδου έχουν υιοθετήσει το gRPC. Ο Solomon προτείνει την υιοθέτηση του gRPC ως τυπικής διεπαφής. Τα οφέλη περιλαμβάνουν πιο αυτοματοποιημένα εργαλεία.
  • Πού θα βρείτε το Docker CE (το έργο ανοιχτού κώδικα);
    • TBD - Το Docker / CLI θα έχει βιβλιοθήκες πελατών και SDK για τώρα. Η συσκευασία και η κατασκευή είναι ειδικά για την έκδοση, δεδομένου ότι υπάρχουν πολλά Docker για το XXX.