Machine: Docker Machine befindet sich jetzt im Wartungsmodus

Erstellt am 13. Juli 2018  ·  65Kommentare  ·  Quelle: docker/machine

Wie schon seit einiger Zeit offensichtlich, haben wir langsam aufgehört, neue Funktionen für das Projekt zu implementieren oder zu akzeptieren. Die Desktop-Nutzung wurde größtenteils durch unser Docker Desktop- Produkt ersetzt. Die Bereitstellung auf einer Vielzahl von Cloud-Anbietern wird mit Infrakit insgesamt besser erreicht. Insgesamt macht es derzeit keinen Sinn mehr, das Projekt aktiv weiterzuentwickeln. Aus diesem Grund schließen wir ab heute offiziell den Wasserhahn für Änderungen ohne Bugfix.

Ich bin sicher, dass viele sich darauf einlassen wollen. Bitte halten Sie die Diskussion zivil und halten Sie sie in diesem Thread, damit wir die Dinge überschaubar halten können.

Hilfreichster Kommentar

Ich würde Sie bitten, auch die readme.md zu aktualisieren

Alle 65 Kommentare

Oh :(

Nun, das war schön, solange es dauerte :)
Vielen Dank an alle für die gute Arbeit!

Ich würde Sie bitten, auch die readme.md zu aktualisieren

Wenn die offizielle Unterstützung für die Maschine geschlossen wird, wie hoch ist die Wahrscheinlichkeit, dass die Community in diesem Repo weiterhin unterstützt wird?

Für diejenigen unter Ihnen, die eine Maschine benötigen, gibt es einige Aktivitäten in der Organisation https://github.com/machine-drivers. Es kann sinnvoll sein, daran zu arbeiten und von https://github.com/machine- freizugeben.

Wir haben bereits versucht, dieser Organisation Patches hinzuzufügen, da sie anscheinend nicht hier zusammengeführt werden können: # 4509 (Dies blockiert für lokalisierte Windows-Versionen). Am besten ist es, mit irgendeiner Form von Veröffentlichungen fortzufahren, aber für uns: Minikube und Minishift müssen wir nur gegen eine Bibliothek verlinken.

@ shin- Als Gedanke verwenden die neuen Benutzerdokumente "Erste Schritte" immer noch docker-machine als zentralen Teil des Intro.

Für Personen, die an der Aktualisierung der Dokumente interessiert sind, welche sollten sie stattdessen durchlaufen?

Ich finde das wirklich schade. Die wahre Leistung der Maschine lag irgendwo zwischen der Einfachheit, Dinge auf einem Computer mit Desktop zum Laufen zu bringen, und der Komplexität hinter

Hallo!

Hat jemand eine alternative Software für Linux? Ich möchte Docker nicht als Root auf meinem Host-Computer ausführen, und Docker-Computer hat diesbezüglich eine gewisse Isolation gegeben. Gibt es einen Plan für Docker für Linux?

Vielen Dank!

@gilbsgilbs Du kannst Docker-Maschine weiterhin so verwenden, wie du es derzeit tust!

@ shin- Danke für deinen Vorschlag. Ich starte ein neues Projekt, also wäre es ein seltsamer Schritt, die Docker-Maschine dafür zu verwenden, nicht wahr?

@ shin- Weelll ... es ist wahrscheinlich eine schlechte Idee, für PRs Mittel für neue Projekte gesperrt zu sein. :zwinkern:

@justinclift Ich möchte nicht zu sehr ins Detail gehen, da wir in einer vorbereiteten Erklärung weitere Informationen haben, aber wie ich im ursprünglichen Beitrag versucht habe, ist das Projekt nicht für PRs geschlossen. Wir versuchen lediglich, diese auf Bugfixes zu beschränken, im Gegensatz zu neuen Funktionen. Wenn das Feature-Set der aktuellen Iteration von docker-machine Ihren Anforderungen entspricht, gibt es auch bei neuen Projekten keinen Grund, es aufzugeben.

Es sieht so aus, als ob Infrakit auch nicht aktiv ist. Es gab mehr als ein Jahr lang keine Veröffentlichungen, kein Update auf DockerCon 2018, keine Benutzerdokumentation ähnlich https://docs.docker.com/machine/

In der Docker-Maschinendokumentation wird empfohlen, Docker Cloud zu testen, das wiederum zugunsten von Docker EE heruntergefahren wird (das nicht allgemein verfügbar ist).

Es wird empfohlen, entweder das Projekt zu teilen oder sich anderswo umzusehen: https://landscape.cncf.io/grouping=landscape&landscape=infrastructure-automation&sort=first-commit

Nicht beschweren, nur meine Perspektive beschreiben.

Interessant. Wenn man sich den Commit-Verlauf für InfraKit ansieht , Ein-Mann- Anstrengung zu sein.

Die Aktivität scheint um April / Mai ausgetrocknet zu sein. Das Erraten der Zeit der Leute wurde auf andere Dinge umgeleitet.

Ist das eine falsche Sichtweise?

@ shin- aber viele der PRs (wie Bugfixes, die ich zur Verfügung stelle, damit die Internationalisierung von Hyper-V funktioniert) wurden nicht für die Zusammenführung verwendet. Dies ist kein guter Hinweis auf "Wir versuchen lediglich, diese auf Bugfixes im Gegensatz zu neuen Funktionen zu beschränken", da "es keinen Grund gibt, sie auch für neue Projekte aufzugeben".

@Schienbein-

Ich möchte nicht zu sehr ins Detail gehen, da wir in einer vorbereiteten Erklärung weitere Informationen haben

Könnten Sie auf diese offizielle Erklärung verweisen (wann immer sie veröffentlicht wird?) Ich kann sie nicht finden.

Ich empfehle dringend, die Dokumente so zu ändern, dass sie auf dem neuesten Stand sind .
Meine letzte Stunde war eine sinnlose Erkundung von boot2docker, die eindeutig auf eine Docker-Maschine hinweist, auf deren Hauptseite eine Warnung angezeigt wird, die die Verwendung der Docker-Cloud als aktuelle Technologie empfiehlt. Dies verweist auf die Beschreibung des Docker-Cloud-Dokuments (nicht auf die Migrationsseite !!!!), bei der ich etwas googeln musste, um herauszufinden, dass es im Mai eingestellt wurde (aber im März angekündigt, also vor 7 Monaten). Ich bin jetzt hierher gekommen, um vorzuschlagen, die Warnung aus dem Docker-Rechner-Dokument zu entfernen. Ich finde heraus, dass in dieser 3 Monate alten Ausgabe der Docker-Rechner ebenfalls eingestellt wird.
So sollte Dokumentation einfach nicht funktionieren. Ich werde auf eine Ad-hoc-Lösung zurückgreifen, aber ich würde Docker aufgeben, wenn ich sie nicht bereits verwendet hätte.

@aliceminotto Es würde uns allen helfen, veraltete Dokumente zu aktualisieren, wenn Sie auf die Websites oder Seiten verweisen könnten, über die Sie sprechen.

Docker-Maschine geht nicht weg, es erweitert nur nicht den Umfang der Funktionen.

Docker Cloud verschwindet nicht, sondern wird nur noch nicht mehr für die Serverbereitstellung / -verwaltung verwendet. Es ist immer noch für die Imagebildung da. Docker verfügt über andere Tools für Produktionsserver wie Docker für AWS , Docker für Azure und DCI für Docker Enterprise.

Ich hatte die alte Website http://boot2docker.io völlig vergessen und wusste nicht, dass der Hinweis dort so schlecht formuliert war (Entschuldigung für die Verwirrung, die dazu beigetragen hat!) - ich habe das jetzt aktualisiert (und verkleinert) Inhalt, um hoffentlich besser zu verdeutlichen, dass boot2docker, das alte CLI-Tool, zugunsten von Docker Machine veraltet ist und dass boot2docker die Distribution nicht veraltet ist, sondern sich im Wartungsmodus befindet (wie Docker Machine).

Anders ausgedrückt: neue Docker-Versionen, Kernel-Updates usw., aber konzertierte Versuche, neue Features / Funktionen auf ein absolutes Minimum zu beschränken, um die fortlaufende Wartbarkeit für die wenigen Leute zu gewährleisten, die noch nicht auf das besser geeignete Docker für Windows umsteigen können / Docker für Mac-Produkte oder die oben genannten Produktionsserver-Tools / -Lösungen (Windows 7-Benutzer, die Docker für Windows überhaupt nicht können, Windows 10 Home-Benutzer, die Hyper-V nicht können, VirtualBox-Benutzer, die Hyper-V nicht können V usw. usw.).

@tianon : Vielleicht möchten Sie auch Linux-Benutzer erwähnen, die nicht auf Mac oder Windows

@afbjorklund Warum brauchst du boot2docker, wenn du bereits Linux verwendest?

@ Vanuan : entweder weil deine Distribution zu alt war (zB RHEL6) oder weil du nicht root haben durftest ...

In jedem Fall ist der Übergang zu Docker Desktop keine Option - entweder Docker Engine oder DIY LinuxKit?

Ich möchte den Herstellern von Docker-Maschine und boot2docker dafür danken, dass sie Docker zugänglicher gemacht haben.

Und mit der Anstrengung von Maschinentreibern (für KVM) wird es hoffentlich noch eine Weile länger funktionieren

Warum sollte ich die Server-Distribution für den Desktop verwenden? Und warum bin ich kein Administrator meines Desktops? Aber irgendwie darf ich auf KVM zugreifen?

Sie suchen anscheinend nach einer Lösung, um Docker auf einem KVM-Server auszuführen? In diesem Fall untersuche ich derzeit Infrakit hier: https://github.com/docker/infrakit/issues/913

Aber wenn Sie Docker nur auf einem Linux-Desktop ausführen möchten, verstehe ich nicht, warum Sie nicht das neueste Ubuntu zusammen mit Docker CE installieren sollten. Wenn Sie es in VM ausführen möchten, tun Sie dies. Sie können Ihr Home-Verzeichnis in VirtualBox bereitstellen und Docker über SSH verwenden. Was ist das Problem hier? Es gibt kein Docker für Linux Desktop, da es keinen Sinn ergibt. Zumindest für mich.

Warum sollte ich die Server-Distribution für den Desktop verwenden? Und warum bin ich kein Administrator meines Desktops? Aber irgendwie darf ich auf KVM zugreifen?

Einige Leute müssen jedes Desktop-Betriebssystem verwenden, das ihnen ihr Arbeitgeber gibt. RHEL6 ist ein Beispiel, von dem mir (vor einigen Monaten) von einem Mann erzählt wurde, der an einem Börsenplatz arbeitet. :zwinkern:

Als allgemeiner Datenpunkt hat Libvirt (zumindest früher) ein Konzept von VMs, die Benutzer in ihrem Konto ausführen können, das nur für sie wäre. zB nicht zugänglich für andere Personen, die am selben Computer angemeldet sind

Ich bin mir nicht sicher, ob dies jemals in irgendeiner Tiefe entwickelt wurde, da der größte Teil der Libvirt-Entwicklungsanstrengungen auf VM-Dinge auf "Systemebene" anstatt auf Benutzerebene gerichtet war.

Wenn Sie Docker nur auf einem Linux-Desktop ausführen möchten, verstehe ich nicht, warum Sie nicht das neueste Ubuntu installieren sollten

Nicht wenige Leute mögen Ubuntu aus dem einen oder anderen Grund nicht. :zwinkern:

Ab Version 18.09 ( DOCKER_HOST=ssh:// ) ist das Einrichten von Remote-Docker-Computern ohne docker-machine wirklich trivial: https://medium.com/lucjuggery/docker-tips-access-the-docker- Daemon-via-ssh-97cd6b44a53

Als allgemeiner Datenpunkt hat Libvirt (zumindest früher) ein Konzept von VMs, die Benutzer in ihrem Konto ausführen können, das nur für sie wäre. zB nicht zugänglich für andere Personen, die am selben Computer angemeldet sind

Ja, es heißt qemu: // session
Das neueste GNOME hat sogar eine nette App dafür - Boxen: https://en.wikipedia.org/wiki/GNOME_Boxes

Benutzermodus Die KVM-Virtualisierung weist einige Nachteile beim Netzwerk auf. Daher denke ich, dass Virtualbox unter diesen Bedingungen die einzige Wahl ist.

Und um CLI für VirtualBox zu haben, ist die Wahl vagabundierend. Sie benötigen nur eine Linux-Distribution, um Docker darüber auszuführen. Und der am meisten getestete Kampf ist Ubuntu / Debian. Sie können jedoch jede andere Distribution herunterladen. Sie müssen es jedoch selbst verpacken, um es mit Vagrant verwenden zu können: https://www.vagrantup.com/docs/virtualbox/boxes.html

Nur zu sagen, dass docker-machine eine gute Lösung für diese Linux-Benutzer war, genau wie für Benutzer von alten Macs und alten Windows ... Alles, was es brauchte, war Docker auf einem nicht standardmäßigen Port statt auszuführen fest codiert 2376? Und ein neuer qemu-Treiber, für den keine libvirt-Gruppe erforderlich war (dh root). Vielleicht wird Infrakit / Hyperkit in Zukunft eine Alternative sein, aber im Moment (der Link oben) sieht es an den Rändern immer noch ziemlich rau aus.

@ Vanuan : Ich kenne die Ubuntu / Vagrant-Optionen, ich habe sie oben einfach als " Docker Engine " bezeichnet.

@justinclift : Jeder Benutzer erhält seine eigenen SSH-Schlüssel / Docker-Zertifikate, sodass die Maschinen angemessen voneinander getrennt sind.

@afbjorklund Keine Sorge. Es ist Jahre her, seit ich bei Red Hat im Libvirt-Team gearbeitet habe. Heutzutage benutze ich es im Allgemeinen nur zur Diagnose von Problemen, anstatt immer noch sehr ausführlich damit umzugehen. :Lächeln:

@afbjorklund Lass uns das klären.

Vielleicht möchten Sie auch Linux-Benutzer erwähnen, die nicht auf Mac oder Windows umsteigen möchten ...
In beiden Fällen ist der Übergang zu Docker Desktop keine Option - entweder Docker Engine oder DIY LinuxKit?
Ich kenne die Ubuntu / Vagrant-Optionen, ich habe sie oben einfach als "Docker Engine" bezeichnet.

boot2docker ist sowohl die Distribution ( boot2docker.iso ) als auch das Tool zum Verwalten der Virtualbox ( boot2docker-cli ). boot2docker.iso enthält Docker CE (ehemalige Docker Engine):

https://github.com/boot2docker/boot2docker/blob/d465167d83310295b5847ba315905f52c3ca1435/Dockerfile#L426 -L435

Dies wird auf neue Docker CE-Versionen aktualisiert.

Das boot2docker-cli ist weg, aber im Wesentlichen ist es mit virtualbox nur vagabundierend. Vagrant ist immer noch da.

Docker-Rechner mit KVM-Treiber verwendet boot2docker.iso, um _Docker CE_ für neue libvirt- VMs bereitzustellen.

Docker Desktop verwendet mit Linuxkit erstellte Distributionen, um _Docker CE_ für Hyper-V und xhyve bereitzustellen.


Um sich alles vorzustellen:
infrastructure


Wie Sie sehen können, enthalten alle Lösungen Docker Engine (derzeit Docker CE für Linux ) auf die eine oder andere Weise.

Es gibt einfach zu viele Umgebungen und Virtualisierungs- / Cloud-Lösungen. Folglich gibt es kein Tool, das unter Windows / Mac / Linux gleich gut funktioniert und QEMU / Virtualbox / xhyve / Hyper-v zusammen mit verschiedenen Clouds und Over-SSH-Bereitstellung unterstützt. Ein solches Tool muss auch konfigurierbar sein: Unterstützung verschiedener Ports, Speicher- / CPU-Ressourcenverwaltung, Netzwerk usw. Daher ist wahrscheinlich ein Allzweck-Tool zusammen mit einer über http heruntergeladenen Konfigurationsdatei die beste Lösung.

@ Vanuan : Ja, das haben wir oben gesagt. Um Docker-Computer zu ersetzen, müssen Sie zu Mac oder Windows und Docker Desktop wechseln - zumindest bis _someone_ mit LinuxKit und libvirt etwas Ähnliches erstellt ...

Wir müssen nicht mehr über boot2docker-cli sprechen, und die Unterstützung für Linux-Treiber wurde bereits auf die Organisation "Maschinentreiber" verlagert, da nur VirtualBox mit der Standard-Docker-Maschine verfügbar ist.

@ shin- Wenn Sie keine neuen Funktionen mehr zulassen, sollten Sie eine sehr klare Notiz oben in README.md AND CONTRIBUTING.md einfügen.

Es ist ziemlich ärgerlich, diese beiden Dateien sorgfältig zu lesen, einen Treiber zu implementieren (mehrere Arbeitstage) und nicht zu erkennen, dass ihr keinen Treiber mehr zusammenführen werdet. Dies sollte viel klarer sein.

Wenn dies alles ein Missverständnis ist und ich trotzdem die Anfrage meines Fahrers ziehen darf, lassen Sie es uns bitte wissen. Es ist nur so, dass es im Moment nur in einer versteckten Datei erwähnt wird, die die Leute sehen werden, wenn sie die Pull-Anfrage erstellen.

Es gibt noch keine eindeutigen Informationen zum Wartungsmodus in README.md und / oder CONTRIBUTING.md . Ich habe die Hälfte meiner Urlaubszeit damit verbracht, eine funktionierende Lösung für die ProxmoxVE-VM-Erstellung und eine leichtgewichtige Linux für Docker-Bereitstellung zu finden. Ich fand, dass eine Kombination aus docker-machine + Docker-Maschinentreiber-Proxmox-ve für diese Verwendung ziemlich gut funktioniert Fall. Leider stützt es sich auf boot2docker, der besagt, dass es zugunsten von docker-machine veraltet ist, und der Betreuer eines Threads schlägt Rancher OS vor. docker-machine den Wartungsmodus gehen, ohne klar zu definieren, was das bedeutet (nur Fehlerbehebungen würden akzeptiert und der Vorschlag, dass es für neue Projekte in Ordnung ist, ist IMO im Widerspruch). Es gab auch eine offizielle Ankündigung im August 2018, aber keine Anzeichen für einen Hinweis hier.

Aus der Sicht eines Außenstehenden, der eine angemessene Infrastruktur für KMU aufbauen möchte, sieht docker-machine nicht nach einer richtigen langfristigen Lösung aus. Jeder kann vorschlagen, was für die Bereitstellung und Verwaltung von ProxmoxVE VM als Hypervisor und minimale Linux-Unterstützung für Docker angemessen ist.

Leider stützt es sich auf boot2docker, was besagt, dass es zugunsten von Docker-Maschine und Betreuer auf einem Thread veraltet ist, was Rancher OS nahe legt.

Können Sie bitte genauer angeben, wo boot2docker behauptet, zugunsten der Docker-Maschine veraltet zu sein, damit ich dies angemessen klären kann? (weil es nicht wahr ist, es sei denn, Sie beziehen sich ganz speziell auf das alte CLI-Tool boot2docker , das seit Jahren nicht mehr aktiv gewartet wurde)

Die boot2docker -Distribution (insbesondere das boot2docker.iso -Artefakt, das mit jeder neuen Version von Docker CE veröffentlicht wird) wird nicht so schnell verschwinden, wie mir bekannt ist, obwohl sie einen sehr engen Fokus hat jetzt (und daher werden neue Features / Funktionen wahrscheinlich nicht für das Zusammenführen berücksichtigt).

@tianon Du hast recht, es tut mir leid für Verwirrung. Die Nachricht auf der Website lautet boot2docker CLI - auf den ersten Blick war mir nicht klar, ob es einen Unterschied gibt. Ich bin mir ziemlich sicher, dass auch andere Benutzer verwirrt sein können, da Sie höchstwahrscheinlich mit boot2docker.iso konfrontiert werden. boot2docker CLI ist etwas, von dem Sie noch nie gehört haben. Es ist schwer zu sagen, in welcher Beziehung Projekte stehen. OTOH boot2docker.iso Aussage "maintenance mode" ist vage, genauso wie docker-machine , was ich aufgrund dieser Antwort schließe .

Um die Verwirrung zusammenzufassen:

  1. "maintenance mode" - ist in beiden Projekten nicht klar. Kann ich das für die Produktion in kleinen Unternehmen verwenden?
  2. Beide Projekte leiten Entwickler / Betreuer schlagen die Verwendung anderer Projekte vor, die anscheinend nicht alle zuvor unterstützten Anwendungsfälle abdecken

Ideal wäre es, eine klare Aussage von @tianon und @ shin zu haben, wenn die Verwendung von docker-machine für die Produktion in Ordnung ist?

Ich kann nicht für Docker Machine sprechen, aber boot2docker war noch nie eine gute Wahl für die Produktion. Ziel ist die Entwicklung / Nutzung persönlicher Workstations.

Siehe auch die hinzugefügten Hinweise unter https://github.com/boot2docker/boot2docker#readme , in denen ich versucht habe zu klären, was wir unter Wartungsmodus verstehen und dass b2d für Produktions-Workloads weder vorgesehen noch empfohlen ist.

Wie viele andere war ich frustriert, dies von Github Issues zu erfahren, nachdem ich mich bemüht hatte, die Maschine für einen SMB-Client zu verwenden

Ich habe eine PR erstellt, um die offizielle Dokumentation zu aktualisieren, und einen Hinweis zum Wartungsmodus der Maschine hinzugefügt.

Siehe https://github.com/docker/docker.github.io/pull/9239

Es wäre schön, den Docker zu ändern, der auch anfängt https://docs.docker.com/get-started/part4/

Bearbeiten: Es wurde eine Lösung gefunden, die darin besteht, docker-ce auf der aws ec2-Instanz zu installieren und dann den Docker-Daemon über den SSH-Port weiterzuleiten.

ssh -NL localhost:23750:/var/run/docker.sock -i ***.pem ubuntu@***.compute.amazonaws.com
docker -H tcp://localhost:23750 run hello-world

🎉

Ich habe kürzlich angefangen, Docker-Computer zu verwenden, weil er mit Docker Desktop installiert wurde, und mir wurde klar, dass Docker auf aws-Instanzen ausgeführt werden kann, die weitaus leistungsfähiger sind als mein lokaler Computer. Das Schöne ist, dass lokale Apps, die Docker-Befehle verwenden, wie Visual Studio Code, mit Docker-Computer-Containern so arbeiten können, als ob sie lokal ausgeführt würden.

Es scheint mir, dass die Docker-Maschine nicht abgelöst wurde, sondern es gibt viele neue Möglichkeiten, Cluster bereitzustellen, einschließlich Infrakit, Kubernetes usw.

Ich könnte ein Missverständnis sein. Gibt es eine Migrationsstrategie für das, was ich oben beschrieben habe?

Wir verwenden GitLab mit dem GitLab Runner-Tool, um EC2 Spot-Instanzen dynamisch für die Ausführung von CI / CD-Jobs bereitzustellen. GitLab Runner verwendet Docker Machine, um diese Computerbereitstellung durchzuführen.

Wir haben beschlossen, alle Dienste von (aufgeblähtem) Ubuntu zugunsten von Amazon Linux 2 zu entfernen. Zu meiner Freude würde PR # 3609 dies zulassen.

Aufgrund dieses "Schließens des Wasserhahns" scheint # 3609 jedoch an Ort und Stelle zu sterben. Bitte erwägen Sie, es in seinem derzeit nicht widersprüchlichen, zusammenführbaren Zustand zusammenzuführen.

Da die Jungs bei Gitlab bereits eine Gabel haben, könnten sie vielleicht daran interessiert sein, sich um dieses Repo zu kümmern?

@ usha-mandya @ Dawn-Wood irgendein Update auf docker / docker.github.io # 9239? Zur Erinnerung werden auf allen Docker Machine-Seiten Warnhinweise hinzugefügt. Dies wurde zusammengeführt, aber während der Aufteilung des Unternehmens wieder rückgängig gemacht, damit Sie einige Entscheidungen über die Zukunft von DM treffen können. Es wäre gut, diesen Hinweis zu haben, wenn sich DM weiterhin im Wartungsmodus befindet

AFAIK, die neueste Version von Docker Desktop, enthält nicht mehr docker-machine

AFAIK, die neueste Version von Docker Desktop, enthält keine Docker-Maschine mehr

Ich habe gerade auf diese Weise von diesem Problem erfahren, da unsere internen Docker-Werkzeugmaschinen nach dem Update auf Docker für Desktop 2.2.0.0 nicht mehr funktionierten

Es ist irritierend, dass dieser Schritt auch im Docker für Desktop-Versionshinweise nicht erwähnt wird.

Wir verwenden Docker-Maschinen häufig, um gemeinsam genutzte Booot2docker-basierte Docker-Maschinen für interne DEV- und Staging-Umgebungen mithilfe des Hyper-V-Treibers zu verwalten und zu warten (daher stellen wir Boot2docker-Hyper-V-VMs mithilfe von Docker-Maschinen bereit). Obwohl wir Linux- und Mac-Clients haben und daher Docker für Windows / OS X verwenden, verlassen wir uns für unsere CI / CD-Inhalte immer noch stark auf Docker-Computer.

Mir ist kein ähnlicher Ersatz für dieses Setup bekannt - fehlt mir hier etwas Offensichtliches?

Sie können die neueste Binärdatei jederzeit mit Brew (macOS) und direkt herunterladen
aus dem Repo. Es wird immer noch gewartet (Patches), aber langsam
Tools wie Docker Desktop wurden eingestellt.
https://github.com/docker/machine/releases

Am Montag, den 27. Januar 2020 um 11:47 Uhr schrieb sambernet [email protected] :

AFAIK, die neueste Version von Docker Desktop, enthält nicht mehr
Docker-Maschine

AFAIK, die neueste Version von Docker Desktop, enthält nicht mehr
Docker-Maschine

Ich habe gerade auf diese Weise von diesem Problem erfahren, als unsere interne Docker-Maschine
Nach dem Update auf Docker für Desktop 2.2.0.0 funktionierte das Tooling nicht mehr

Es ist irgendwie irritierend, dass dieser Schritt im Docker für nicht erwähnt wird
Desktop-Versionshinweise entweder.

Wir verwenden Docker-Maschinen häufig, um gemeinsam genutzte Daten zu verwalten und zu verwalten
booot2docker-basierte Docker-Maschinen für interne DEV und Staging
Umgebungen, die den Hyper-V-Treiber verwenden (daher stellen wir boot2docker hyper-v bereit
VMs mit Docker-Maschine). Also obwohl wir Linux und Mac Clients haben und
Verwenden Sie Docker für Windows / OS X. Wir sind immer noch stark auf Docker-Maschinen angewiesen
für unsere CI / CD Sachen.

Mir ist kein ähnlicher Ersatz für dieses Setup bekannt - fehlt mir
etwas offensichtliches hier?

- -
Sie erhalten dies, weil Sie diesen Thread abonniert haben.
Antworte direkt auf diese E-Mail und sieh sie dir auf GitHub an
https://github.com/docker/machine/issues/4537?
oder abbestellen
https://github.com/notifications/unsubscribe-auth/AAGBNXZV7PCYP3TLWSZ7QODQ74FYPANCNFSM4FJ53G3A
.

Ich habe auch erfahren, dass die Docker-Maschine letzte Woche auf die harte Tour ausläuft 😒
Auf docs.docker.com heißt es, dass die Docker-Maschine "ersetzt" wurde, aber ich kann keine Informationen darüber finden, wovon sie ersetzt wird. Ich möchte meine lokalen Virtualbox-Maschinen weiterhin mit SOMEthing verwalten. Gibt es Tipps, wie Sie dies zukunftssicher machen können?

export DOCKER_HOST = ssh: // user @ host funktioniert möglicherweise für Sie

Ich möchte meine lokalen Virtualbox-Maschinen weiterhin mit SOMEthing verwalten. Gibt es Tipps, wie Sie dies zukunftssicher machen können?

Sie können Vagrant dafür vielleicht verwenden? Oder Sie können einfach weiterhin docker-machine ...

Aber Sie müssten hierher kommen, um die Binärdateien zu erhalten, da sie nicht mehr Teil von Docker (Desktop) sind.

Mir ist kein ähnlicher Ersatz für dieses Setup bekannt - fehlt mir hier etwas Offensichtliches?

Es gibt keinen Ersatz, aber viele Leute sind an der weiteren Verwendung von Maschine und Libmachine interessiert.

Natürlich gibt es Alternativen (verschiedene Produkte), aber das ist nicht wirklich dasselbe (wie die Gabeln).

@afbjorklund Nun, ich hoffe, die Docker-Maschine bleibt dabei ... und ich würde sie gerne direkt von hier bekommen, aber aus irgendeinem Grund sind Downloads von Github für mich sehr langsam. Die ersten 10-12 MB kommen in wenigen Sekunden durch (wie ich es bei meiner ziemlich schnellen Leitung erwarte), dann sinkt sie auf 1-2 kB / s und fällt schließlich aus. Ich weiß, dass dies nicht zum Thema gehört, aber ich bin zuversichtlich, dass es nicht meine Linie ist. Drosselt Github die Dinge vielleicht aus irgendeinem Grund?

Wenn es nicht nur etwas ist, das gerade (nur) für Sie passiert, dann ist es wahrscheinlich am besten, den GitHub-Support darüber zu pingen.

Ich bin äußerst verwirrt darüber, wie ich meine Container am einfachsten bereitstellen kann.
Das Erstellen von Containern über Docker wird als Standardmethode zum Erstellen von Diensten beworben. So habe ich Container für die Website erstellt, die ich gerade erst erstelle.
Aber dann muss ich diese Container ganz offensichtlich auf meinem VPS bereitstellen. Ich benutze also Docker-Maschine, da dies die einzige dokumentierte, nicht wirklich veraltete Methode ist, die ich kenne, um dies zu tun. Und jetzt erfahre ich, dass es sich im "Wartungsmodus" befindet, sodass ich es möglicherweise nicht in einem neuen Projekt verwenden möchte, aber was ist infrakit? Es gibt 2K-Sterne, aber ich habe Schwierigkeiten zu verstehen, wofür es ist (und es kann Docker-Maschine auf einfache Weise ersetzen) oder offizielle Dokumentationen und es ist jetzt im schreibgeschützten Modus (archiviert), so dass ich das Gefühl habe, ich sollte es nicht einmal verwenden und es gibt keinen Link in diesem Repo Readme / Issues zu einem neuen Repository. Warum gibt es keine Dokumentation und wird eingestellt, wenn es Docker-Maschine ersetzt.
Docker scheint eine so beliebte Lösung zu sein, aber ich kann keine einzige Lösung finden, die nicht eingestellt (oder im "Wartungsmodus") ist, um meine Container bereitzustellen. Wenn Docker so weit verbreitet ist, wie gehen die möglicherweise Millionen von Entwicklern, die damit arbeiten, mit der Bereitstellung ihrer Anwendung um?

Ich denke, ursprünglich hat Docker Docker EE, seine kostenpflichtige Version, als offizielle Möglichkeit zur Bereitstellung von Containern beworben. Deshalb haben sie Docker-Maschinen- und Infrakit-Initiativen zunichte gemacht, da dies ihr Geschäftsmodell bedrohte.

Darüber hinaus haben k8s die Landschaft komplett verändert und Docker hatte Mühe, sich anzupassen.

Nachdem Mirantis Docker EE übernommen hat, sucht Docker nach einem anderen Geschäftsmodell. Ich denke, eine neue Richtung besteht darin, Anwendungspakete in das k8s-Ökosystem einzufügen und die k8s-Bereitstellung selbst der Community zu überlassen. Zumal k8s nicht Teil von Docker CE (unter Linux) ist.

K8s, OTOH wird von Google verwaltet, das alle Anreize hat, die Bereitstellung von K8s so kompliziert zu gestalten, dass die Leute buchstäblich sagen "Hey, Google, bitte installieren Sie K8s Cluster für mich". So können Sie sich an Google Cloud-Dienste binden.

Die Vision von Solomon Hykes, die Cloud vom Lock-In zu befreien und die Cloud zu einer Ware zu machen, ist kläglich gescheitert.

@NitroBAY Da der "Software-Lebenszyklus" von der Vielzahl unterschiedlicher Möglichkeiten, "Container-Images zu erstellen und auf Server herunterzuladen", ist schwer zu sagen Was sollte Ihre Lösung sein?

Ursprünglich sollte die Docker-Maschine drei Dinge tun:

  1. Bereitstellung einfacher VMs bei den wichtigsten Cloud-Anbietern oder eines VM-Managers auf einem lokalen Computer (VirtualBox, Hyper-V, VMWare, Parallels usw.)
  2. Installieren Sie Docker auf dieser VM, einschließlich eines selbstsignierten Zertifikats, und öffnen Sie den API-TCP-Port
  3. einfach ssh zu diesem Server und Fernsteuerung von Docker mit der Docker-CLI (Docker-Maschine env)

(Vergessen wir ältere Funktionen wie das Erstellen eines klassischen Schwarms.)

Mit dem ersten "Erstellen einer Linux-VM": Ich empfehle Ihnen, diese durch das Tool Ihrer Cloud zu ersetzen, um VMs zu erstellen. Wenn es lokal ist und Sie etwas schneller als die Installation einer Linux-VM möchten, schauen Sie sich

Mit dem zweiten "Docker auf einer Linux-VM installieren Installationsskripts oder der offiziellen Dokumente für Ihre Betriebssystemdistribution installieren . Die meisten Wolken haben optional ein offizielles Bild mit Docker.

Docker war nie in der Lage, alle Ihre CI / CD-Probleme zu lösen, und Docker-Machine ist eigentlich nur ein VM-Bereitstellungs- und Basisinstallationstool. Daher benötigten viele Benutzer eine flexiblere und wartbarere Lösung (Docker-Machine lässt sich beispielsweise nicht einfach gemeinsam nutzen Serverkonfigurationen zwischen Maschinen). Das Docker-Team wollte nie, dass die Werkzeugmaschine all diese Probleme löst. Es funktioniert noch heute für diese ursprünglichen Dinge, also zögern Sie nicht, es zu verwenden, solange es für Sie funktioniert. Ich benutze es immer noch monatlich und habe es seit 2015.

Wenn Sie ein bestimmtes Problem detailliert beschreiben, das die Docker-Maschine gelöst hat, können wir Ihnen möglicherweise bestimmte Alternativen empfehlen, die Sie implementieren können.

Zum Beispiel in Bezug auf # 3 oben "Docker fernsteuern" mochte ich immer, dass Docker-Maschine ein selbstsigniertes Zertifikat für die API-Authentifizierung bereitstellt und es mir ermöglicht, meine Docker-Umgebung lokal zu ändern, damit sie den Remote-Server steuern kann. Diese Legacy-Methode wurde seit 2018 kurze Demo mit der DOCKER_HOST-env-Methode , und wir hatten letzten Sommer in meiner Live-Show eine oder TCP fernsteuern.

Außerdem ist InfraKit ein Tool für System-Builder (Benutzer, die benutzerdefinierte Linux-Betriebssysteme erstellen), nicht für Linux-Benutzer wie uns, die eine normale Linux-Distribution mit unserem Hoster erstellen und Docker darauf installieren möchten.

Wow @BretFisher, vielen Dank für Ihre sehr detaillierte Antwort. Ich bin sicher, dass es auch von zukünftigen Leuten, die Sie lesen werden, als goldenes Geschenk angesehen wird.
Für den Datensatz habe ich schließlich ein Skript erstellt, das meine config.json auf den Remotecomputer hochlädt (damit mein privates Image heruntergeladen werden kann) und die Erstellungsdatei. Und dann "Docker Stack Deployment" ausführen
Mein Einsatz sieht so aus

#!/bin/bash
ssh -o StrictHostKeyChecking=no -l root "$HOST" root@$HOST "mkdir /opt/app; mkdir /root/.docker"
source ./devops/generate-branch-hostname.sh
scp ./devops/docker-compose-prod.yml root@$HOST:/opt/app/docker-compose-prod.yml
scp $HOME/.docker/config.json root@$HOST:/root/.docker/config.json
echo "BRANCH_HOSTNAME=$BRANCH_HOSTNAME"
ssh root@$HOST "export BRANCH_HOSTNAME=$BRANCH_HOSTNAME; docker stack deploy --compose-file /opt/app/docker-compose-prod.yml webapp --with-registry-auth"

(BRANCH_HOSTNAME wird offensichtlich nicht benötigt, ich habe zufällig verschiedene Subdomains basierend auf dem Git-Zweig, die mein Skript auslösen (ich verwende CI / CD))
Und ich benutze immer noch Docker-Maschine erstellen, um Docker auf meinem Ubuntu Remote VPS zu haben.

Auf jeden Fall ist ein Docker-Computer auf CI / CD KEINE gute Idee, da das Freigeben von Zertifikaten nicht einfach ist (es ist ein ganzer Ordner) und das Wiederherstellen von Zertifikaten Docker möglicherweise stoppt, sodass dies auch keine Option ist.

Ich glaube immer noch, dass es ein Tool geben sollte (von der Community oder vom Docker erstellt), das DOCKER_HOST usw. bereitstellt und einfach den SSH-Schlüssel verwendet. Es wäre einfacher als "scp" und "ssh".

Docker-Maschine erwies sich als nicht unvermeidlich.

Ich bin kein Profi, ich bin nur jemand, der in meiner eigenen Webprogrammierung gelernt hat und an meiner Nebenzeit an einem großen Projekt arbeitet, also denke ich nicht, dass K8s meinen Bedürfnissen entsprechen, da es als nicht einfaches Tool beschrieben wird Nur für mindestens mittlere / große professionelle Teams und wirklich nicht für eine Person, die wenig Zeit hat und sowohl die Entwicklung (Front / Back-End) als auch den Einsatz übernimmt. Ich vermutete also, dass es noch einen Platz für Docker gab, aber vielleicht sollten die Dinge klarer sein, was die offiziell bevorzugte Art der Bereitstellung von Apps und ihre Pläne für den Nachfolger des Docker-Rechners betrifft oder ob dies der Fall ist Ich habe keinen Plan dazu.

Ich glaube immer noch, dass es ein Tool geben sollte (von der Community oder vom Docker erstellt), das DOCKER_HOST usw. bereitstellt und einfach den SSH-Schlüssel verwendet. Es wäre einfacher als "scp" und "ssh".

Mach einfach export DOCKER_HOST=ssh://[email protected]

Hinweis: Wenn Sie die SSH-Anmeldung für den Benutzer root deaktiviert haben, können Sie einen Nicht-Root-Benutzer user über verwenden
export DOCKER_HOST=ssh://[email protected] , nachdem Sie das addieren user auf die docker mit Gruppe sudo usermod -aG docker user . (getestet unter Ubuntu 18.04)

Gibt es eine Alternative zum Herumspielen mit Docker Swarm mit mehreren Knoten unter Windows? Das Schwarm-Tutorial besagt, dass dies derzeit unter Windows ohne Docker Machine nicht möglich ist:

Derzeit können Sie Docker Desktop für Mac oder Docker Desktop für Windows nicht allein zum Testen eines Schwarms mit mehreren Knoten verwenden. Sie können jedoch die mitgelieferte Version von Docker Machine verwenden, um die Schwarmknoten zu erstellen (siehe Erste Schritte mit Docker Machine und einer lokalen VM). Folgen Sie dann dem Lernprogramm für alle Funktionen mit mehreren Knoten.

Ich verwende https://multipass.run/, um schnell mehrere Ubuntu-VMs zu erstellen. Genauso schnell wie Docker-Maschine. In einer Demo erfahren Sie, wie ich sie für einen 3-Knoten-Schwarm verwende: https://www.pscp.tv/BretFisher/1mrGmQvNEWBGy?t=

Die Desktop-Nutzung wurde größtenteils durch unser Docker Desktop-Produkt ersetzt.

Hinweis für alle in diesem Thread: Docker Desktop ist keine freie Software, keine Open Source-Software und enthält eine Menge Spyware. Daher sollten Sie sich überlegen, ob Sie diesem Upgrade-Pfad folgen möchten.

Falls dies für jemanden hilfreich sein könnte, finden Sie hier ein Skript zum Installieren von Docker auf einem Remote-Host (getestet unter Debian 10 = Buster):
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252

Es basiert auf dem Server-Automatisierungs-Framework namens Fabric (speziell Fab-Classic Github und Docs ). Auch wenn Sie Fabric nicht verwenden möchten, können Sie die Befehle leicht lesen und manuell ausführen und sich in ein Bash-Skript verwandeln, da nichts Besonderes ist.

Führen Sie danach export DOCKER_HOST=ssh://[email protected] und es ist wieder so, wie es bei Verwendung der Docker-Maschine war.

Hinweis für alle in diesem Thread: Docker Desktop ist keine freie Software, keine Open Source-Software und enthält eine Menge Spyware. Daher sollten Sie sich überlegen, ob Sie diesem Upgrade-Pfad folgen möchten.

@sneak "Tonne Spyware" bezieht sich auf die Einstellung "Nutzungsstatistiken senden", in der "Fehlerberichte, Systemversion und

Ich bin nicht daran interessiert, Zeit damit zu verbringen, proprietäre Closed-Source-Spyware weiter zu diskutieren.

Troll von geringer Qualität

Trolling erfordert List. Ich bin aufrichtig und meine Aussagen sind korrekt:

  • Docker Desktop ist proprietär

  • Docker Desktop ist eine Closed-Source-Software

  • Docker Desktop spioniert seine Benutzer aus, ohne die Zustimmung dazu einzuholen (wie Docker-Maschine)

Aus diesen obigen Punkten könnte eine vernünftige Person den Schluss ziehen, dass Docker-the-Company sich nicht um Softwarefreiheiten, die Privatsphäre der Benutzer oder die Zustimmung der Benutzer zur Überwachung kümmert.

Ich bin auf GitHub und anderen ähnlichen Websites, um an freier Software und Open Source zu arbeiten, und nicht kostenlose Projekte wie Docker Desktop sind einfach eine Ablenkung von der Arbeit an freier Software, von der alle profitieren. Ich möchte meine Zeit oder Aufmerksamkeit nicht auf solche Dinge lenken.

Es wäre gut, wenn Sie die Probleme direkt ansprechen würden, anstatt auf persönliche Angriffe zurückzugreifen. Ich habe diesen Thread jetzt stummgeschaltet und wünsche Ihnen einen schönen Tag.

Falls dies für jemanden hilfreich sein könnte, finden Sie hier ein Skript zum Installieren von Docker auf einem Remote-Host (getestet unter Debian 10 = Buster):
https://github.com/minireference/sample-book/blob/master/fabfile.py#L213 -L252

Es basiert auf dem Server-Automatisierungs-Framework namens Fabric (speziell Fab-Classic Github und Docs ). Auch wenn Sie Fabric nicht verwenden möchten, können Sie die Befehle leicht lesen und manuell ausführen und sich in ein Bash-Skript verwandeln, da nichts Besonderes ist.

Führen Sie danach export DOCKER_HOST=ssh://[email protected] und es ist wieder so, wie es bei Verwendung der Docker-Maschine war.

@ivanistheone NEIN ist es nicht. docker-machine ist (war?) Großartig, da es auch alle APIs bei verschiedenen Cloud-Anbietern implementiert, um Maschinen auf der CLI auf einheitliche Weise zu erstellen. Natürlich gibt es gcloud , az usw., aber jeder von ihnen hat unterschiedliche Optionen und Semantiken. docker-machine ist eine CLI für alle. Es macht die Arbeit mit Hybridwolken ein bisschen einfacher ...

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen