Machine: Von einem anderen Client an einen vorhandenen Computer anschließen

Erstellt am 8. Juni 2015  ·  85Kommentare  ·  Quelle: docker/machine

Nehmen wir an, ich habe auf Digital Ocean eine Maschine erstellt, auf der einige Container ausgeführt werden.
Nach dem Erstellen der Maschine kann ich eval "$(docker-machine env test-machine)" ausführen
Jetzt wechsle ich zu einem anderen lokalen Computer, der nichts über diesen bestimmten Computer weiß, und möchte ihn an diesen Computer anschließen.
Wie mache ich das?

kinenhancement

Hilfreichster Kommentar

Im Ernst - was nützt Docker-Machine, wenn Sie nicht von einem anderen vordefinierten Gerät darauf zugreifen können ...

USE CASE - Baute die Docker-Maschine bei der Arbeit, brauchte dann aber den Laptop für den Urlaub, nur für den Fall, dass ein Server explodiert ...

Komm schon - wo ist Docker Admin, um sich darauf einzulassen?! Das ist ein Anwendungsfall, den JEDER schätzen kann.

Alle 85 Kommentare

: +1:

Wie wäre es, wenn Sie es mit dem 'generischen' Treiber zum 2. System hinzufügen und dort denselben Auswertungsbefehl verwenden?

@clnperez ist dies ein Vorschlag oder etwas, von dem Sie sicher sind, dass es funktioniert (bedeutet, dass der vorhandene Remotecomputer auch dann wiederverwendet wird, wenn er gerade ausgeführt wird)?

Im Nachhinein glaube ich nicht, dass Sie dies tun können, da Sie die SSH-Schlüssel erneut einrichten oder von Ihrem anderen System importieren müssten.

Ich sehe deinen Fall. Mit dem generischen Treiber kann kein Docker-Maschineneintrag auf dem zweiten System hinzugefügt werden, es sei denn, Sie möchten das ursprüngliche Docker-Maschinen-Setup ungültig machen (da z. B. neue Creds generiert werden). Auf dem zweiten System kann docker-machine create -d none --url [...] ausgeführt werden, wobei wichtige Optionen (wie die Schwarmflags) aus der ursprünglichen Erstellung auf dem ersten System gespiegelt und dann ausgewählte PEM-Dateien und die Datei id_rsa manuell vom ersten Computer auf den zweiten Computer kopiert werden UND fügen Sie manuell Abschnitte für den SSH-Zugriff hinzu (und ändern Sie den Treiber manuell von "Keine" in "Allgemein"). Es ist eine PITA. Eine ordnungsgemäße Export- / Importfunktion wäre hilfreich, um das Teilen zu ermöglichen. Sie können auch nur die Anmeldedateien freigeben, die zum manuellen Konfigurieren von Docker erforderlich sind.

Richtig. Die einzige aktuelle Möglichkeit wäre, das gesamte Verzeichnis zu übernehmen, dies funktioniert jedoch bei einigen Treibern nicht (dh bei VirtualBox, da VMs und Netzwerke mit UUIDs registriert werden, die nicht übereinstimmen). In der Vergangenheit gab es Diskussionen über eine Import- / Exportfunktion (https://github.com/docker/machine/issues/23).

Ich habe eine PR / Hacky-Lösung für dieses Problem in den Startlöchern ... Im Allgemeinen denke ich, dass ich die Konfiguration auf portabel / templiert anstatt auf fest codiert umstellen möchte, wie es jetzt der Fall ist.

+1

Ich würde gerne in der Lage sein, schnell wieder eine Verbindung zu bereits vorhandenen Cloud-Instanzen (ich verwende GCE) herzustellen.

Sicherlich wäre es sehr nützlich, importierbare / exportierbare Konfigurationen zu haben, aber ich frage mich, ob die (zusätzliche) Behandlung des Problems als Treiberproblem möglicherweise nicht zu einer einfacheren Benutzererfahrung führt.

Auf diese Weise kann mit dem Google-Treiber eine Verbindung zu einer vorhandenen Instanz auf einem alternativen Computer hergestellt werden, indem einfach ein gültiges Zugriffstoken bereitgestellt wird (das der Treiber den Benutzer möglicherweise auffordert, automatisch zu generieren).

In ähnlicher Weise könnte man bei Verwendung des aws-Treibers (was ich selbst noch nicht getan habe, aber ich nehme an) eine Verbindung zu einer vorhandenen Instanz herstellen, indem ein gültiges Schlüssel / Geheimnis-Paar bereitgestellt wird (möglicherweise über Umgebungsvariablen, die den relevanten treiberspezifischen Variablen entsprechen Flags - vorausgesetzt, der Prozess wird über einen anderen Docker-Maschinen-Unterbefehl als "create" ausgeführt, da die Erwartungen etwas anders sind.

Ich möchte nur sagen, dass dies eine wirklich großartige Funktion wäre. Ich würde wirklich gerne eine Maschine mit meinen Teamkollegen teilen können und war enttäuscht herauszufinden, dass es im Moment im Grunde keine Möglichkeit gibt, dies zu tun. Es wäre fantastisch, wenn beispielsweise der Treiber generic automatisch erkennen könnte, ob eine bestimmte Box bereits mit docker-machine und tls-Zertifikate usw. wiederverwenden könnte, wenn jemand docker-machine create ausführt

: +1. Ich würde gerne sehen, wie es funktioniert. Derzeit verwalten wir dieselben Computer (in Google Compute Engine) gemeinsam mit einer anderen Person. Die einzige Möglichkeit, die ich gefunden habe, besteht darin, das gesamte Verzeichnis zu kopieren (+ die absoluten Links in der Datei config.json zu ändern). Das ist lahm. Ich denke, generischer Treiber kann auf diese Weise nicht einfach verwendet werden - es gibt natürlich ein Problem mit der Authentifizierung (TLS-Zertifikate usw.), das beim Ausführen nicht einfach wiederverwendet werden kann - mit generischem Treiber erstellen (irgendwie müssen Sie sich authentifizieren und beweisen, dass Sie es sind) Zugriff auf den Computer haben, der für jeden Treiber unterschiedlich ist - in GCE müssten Sie prüfen, ob Ihre gcloud-Authentifizierung den Zugriff auf den Computer ermöglicht). Es gibt auch ein kleines Problem: Wenn Sie den Computer nicht zuvor mit einem bestimmten Treiber erstellt haben, fehlt Ihr Authentifizierungselement (die einzige Möglichkeit zur Authentifizierung besteht darin, einen Computer zu erstellen).

Was ich für die beste Lösung halte, ist der Befehl "import" (mit unterschiedlicher Implementierung für unterschiedliche Treiber). In GCE können Sie beispielsweise alle erforderlichen Details (Schlüssel usw.) irgendwo in den Metadaten des Computers speichern: https://cloud.google.com/compute/docs/metadata?hl=de#project_and_instance_metadata und dann über die Angabe Mit dem Projekt- / Computernamen (und der Authentifizierung) können Sie alle erforderlichen Schlüssel abrufen und den Computer einrichten.

Ich würde diese Funktion wirklich schätzen!

@potiuk Welches Verzeichnis

@AlexZeitler ~/.docker/machine/machines/<machinename>

+1!

+1 Ich würde auch gerne eine Lösung dafür sehen :-)

Ich bin heute genau auf dieses Problem gestoßen, um einem Kollegen Zugang zu gewähren.

+1 !!!!!

Scheint ein Duplikat von # 23 zu sein, oder?
Fast ein Jahr, seit wir über diese Funktion sprechen, haben einige versucht, PRs dafür zu erstellen, aber sie wurden geschlossen ...
Hoffe, diese Funktion wird in der nächsten (Haupt-) Version verfügbar sein :)

Dies ist in Szenarien mit kontinuierlicher Bereitstellung unbedingt erforderlich, in denen Sie mithilfe dieser Schlüssel von Travis oder Circle CI bereitstellen möchten. Irgendwelche Hinweise zu ETA?

Ich muss dem auch ein +1

+1

+1

Gibt es noch etwas zu tun, außer den Ordner ~/.docker/machine/machines/<name> kopieren und die absoluten Pfade zu ändern? Ich erhalte eine Fehlermeldung zu meinen Zertifikaten, und der Versuch, sie neu zu generieren, schlägt ebenfalls fehl.

@jbasrai Hat sich die IP-

Ich habe https://github.com/docker/machine/issues/2516 eingereicht, um Schritte in die richtige Richtung zu erwägen, um dies zu vereinfachen.

Dies ist eine wichtige Funktion, und ich würde sie gerne in naher Zukunft sehen. Meiner Meinung nach sollte die Maschinenkonfiguration für einen Client eindeutig bleiben und nicht importiert / exportiert werden. Stattdessen (wie bereits erwähnt) sollte docker-machine create das mit denselben Argumenten ausgeführt wird, eine Konfiguration für den Computer erstellen können, auch wenn dieser bereits remote vorhanden ist, anstatt wie jetzt fehlzuschlagen. Beim erneuten Ausführen meines Erstellungsbefehls für einen vorhandenen amazonec2-Computer wird folgende Fehlermeldung angezeigt, dass der Host bereits vorhanden ist:

Error creating machine: Error with pre-create check: There is already a keypair with the name testing-recreate.  Please either remove that keypair or use a different machine name.

Stattdessen könnte es mich warnen, dass der Host bereits vorhanden ist, und den Computer wie bei einer ersten Erstellung weiter hinzufügen (möglicherweise muss ein Override-Flag übergeben werden). Auf diese Weise kann ich meine Einrichtungsskripte für die Dev / CI-Umgebung einfach halten und muss mir keine Sorgen machen, dass diese Konfiguration an einem Ort gespeichert werden muss, an dem meine Teamkollegen (oder andere Parteien) darauf zugreifen können.

Es ist in der Tat erstaunlich, dass für die Arbeit mehrerer Personen an derselben VM Zertifikate von einer Maschine auf eine andere exportiert / importiert werden müssen. Wenn jemand eine praktische, produktionsreife Lösung gefunden hätte, wäre das gut zu wissen.

+1

+1

Richtig. Die einzige aktuelle Möglichkeit wäre, das gesamte Verzeichnis zu übernehmen, dies funktioniert jedoch bei einigen Treibern nicht (dh bei VirtualBox, da VMs und Netzwerke mit UUIDs registriert werden, die nicht übereinstimmen). In der Vergangenheit gab es Diskussionen über eine Import- / Exportfunktion (# 23).

@ehazlett also ich benutze aws Treiber kann ich:

  1. Komprimieren Sie die Cloud-Maschine ~/.docker/machine/machines/staging
  2. Mit Teammitgliedern teilen, werden sie bei ~/.docker/machine/machines/ dekomprimieren
  3. Sie werden eine Staging-Maschine haben wie ich? docker-machine ls (oder müssen sie einen anderen Befehl ausführen)

@leandromoreira Ein Hindernis für diesen Ansatz ist, dass die Docker-Machine-Konfigurationsdateien fest codierte Pfade haben, die für den Host-Computer spezifisch sind:

cat ~/.docker/machine/machines/local/config.json

outputs:

...
        "AuthOptions": {
            "CertDir": "/Users/pretzel/.docker/machine/certs",
            "CaCertPath": "/Users/pretzel/.docker/machine/certs/ca.pem",
            "CaPrivateKeyPath": "/Users/pretzel/.docker/machine/certs/ca-key.pem",
            "CaCertRemotePath": "",
            "ServerCertPath": "/Users/pretzel/.docker/machine/machines/local/server.pem",
            "ServerKeyPath": "/Users/pretzel/.docker/machine/machines/local/server-key.pem",
            "ClientKeyPath": "/Users/pretzel/.docker/machine/certs/key.pem",
            "ServerCertRemotePath": "",
            "ServerKeyRemotePath": "",
            "ClientCertPath": "/Users/pretzel/.docker/machine/certs/cert.pem",
            "ServerCertSANs": [],
            "StorePath": "/Users/pretzel/.docker/machine/machines/local"
        }

Das einfache Kopieren des gesamten Verzeichnisses ist also keine vollständige Lösung

@bhurlow vielen Dank: smile: config.json manuell selbst bearbeiten? ist das die einzige Barriere?

@leandromoreira Ich habe um ihn herum wie scripted dieses neueren Versionen von Docker-Maschine nicht mehr base64 kodieren Schlüssel in der Konfigurationsdatei. Letztendlich muss jeder, der eine Remote-Docker-Maschine verwenden möchte, über die TLS-Zertifikate verfügen, sodass meiner Meinung nach ein gewisser Austausch zwischen den Parteien erforderlich ist

Danke @bhurlow

@bcwalrus hat ein großartiges Tool gemacht, bis wir etwas offizielles bekommen.

npm install -g machine-share

# export
machine-share export amazon

# import
machine-share import  amazon.tar

# fix locations :D (it seems this is not using base64 anymore)
machine-share driverfix amazon

@leandromoreira sieht toll aus, ich konnte die Konfigurationen erfolgreich exportieren und importieren.

@muhammadghazali es war @bhurlow Idee und Anstrengung: stecken_out_tongue:

+1 Gibt es Updates bezüglich einer offiziellen Lösung dafür?

Mit Docker Version 1.10.1 habe ich festgestellt, dass die Datei config.json Verweise auf Folgendes aus dem Verzeichnis ~ / docker / machine / certs enthält

        "CertDir": "/home/abc/.docker/machine/certs",
        "CaCertPath": "/home/abc/.docker/machine/certs/ca.pem",
        "CaPrivateKeyPath": "/home/abc/.docker/machine/certs/ca-key.pem",
        "ClientKeyPath": "/home/abc/.docker/machine/certs/key.pem",
        "ClientCertPath": "/home/abc/.docker/machine/certs/cert.pem",

Sie müssen den Ordner ~ / .docker / machine / certs ebenfalls vom Originalcomputer kopieren, damit dieses Szenario funktioniert.

Die aktuelle Lösung hierfür scheint zu sein (z. B. wenn Sie einen Docker-Computer unter AWS auf einem Computer erstellen und die Protokolle oder SSH auf dem Computer von einem anderen Computer aus anzeigen möchten):

  1. Erstellen Sie ein neues Verzeichnis my-dir und my-dir/machine für die Docker-Maschinen, die Sie freigeben möchten, damit Ihre Standardzertifikate nicht verwendet werden
  2. Erstellen Sie Ihren Docker-Computer mit der Option --storage-path my-dir/machine (stellen Sie sicher, dass Sie den absoluten Pfad angeben).
  3. Um die Maschine freizugeben, bearbeiten Sie die config.json in my-dir/machine/machines/machine-name und ersetzen Sie den absoluten Pfad zu my-dir/machine durch $MACHINE_STORAGE_PATH
  4. Laden Sie my-dir irgendwo hoch, z. B. nach Github

Wenn jemand diese Maschine importieren möchte:

  1. Klonen oder herunterladen Sie my-dir
  2. Bearbeiten Sie die config.json für die Maschine in my-dir/machine/machines/machine-name und ersetzen Sie $MACHINE_STORAGE_PATH durch den absoluten Pfad zu my-dir/machine auf Ihrem lokalen Computer
  3. chmod 0600 die id_rsa in my-dir/machine/machines/machine-name

Sie können jetzt Docker Machine-Befehle mit der Option --storage-path my-dir/machine (stellen Sie sicher, dass Sie den absoluten Pfad angeben).

Dies könnte möglicherweise verbessert werden durch:

  • Docker Machine speichert relative Pfade in config.json, sodass dies nicht bearbeitet werden musste
  • Docker Machine SSH (und verwandte Befehle) ändern die ID_RSA automatisch auf 0600 (wenn sie die Berechtigung dazu haben).

Ein kurzer Punkt: Wenn Sie envsubst , können Sie $ MACHINE_STORAGE_PATH programmgesteuert ersetzen und müssen es nicht manuell bearbeiten. Trotzdem ist das Ganze für Teams, die versuchen, eine Farm von Docker-Maschinensystemen zu nutzen, etwas unpraktisch.

Wenn die Leute jedoch nach einer Problemumgehung suchen, ist es am einfachsten, Folgendes zu finden:

  1. Kopieren Sie die .docker/machine/certs an einen privaten Ort. Beachten Sie, dass Sie dies nicht in ein Repo einfügen, da es Geheimnisse enthält, die Ihnen den Zugriff auf die anderen Maschinen ermöglichen. Zu diesem Zweck nutzen wir einen privaten Laden
  2. Kopieren Sie auf dem neuen Host-Computer die Zertifikate in das neue .docker/machine/certs
  3. Führen Sie nun Ihre Docker-Maschine erneut aus und Sie können diese verwenden, ohne alle Konfigurationen zu ändern. Es dauert länger, ist aber portabler und Sie müssen nicht alle diese Konfigurationsdateien bearbeiten.

Ich habe zwei verschiedene Computer, auf denen ich arbeite, und das ist ein echtes Problem für mich.
Ich beschreibe hier das Traumverhalten, das ich bei der Verwendung von Docker-Maschine erwarte:

1) Erstellen Sie ein Droplet in DigitalOcean mit der Docker-Maschine und dem DigitalOcean-Treiber (mit einem Token, das Sie über das DigitalOcean-Bedienfeld erhalten).

docker-machine create --driver digitalocean --digitalocean-access-token \
    [token_goes_here] --digitalocean-image ubuntu-16-04-x64 --digitalocean-size \
    1gb [host_name_goes_here]

2) Gehen Sie zu einem anderen Computer, holen Sie sich ein weiteres Token von DigitalOcean und verbinden Sie es mit einem magischen Befehl zum Anhängen wie folgt mit dem vorhandenen Computer:

docker-machine **attach** --driver digitalocean --digitalocean-access-token \
    [token_goes_here]  [host_name_goes_here]

Was sind die Hindernisse für diese Arbeit? Ich denke, dass das DigitalOcean-Zugriffstoken genügend Berechtigungen bietet, um eine Verbindung zu einem vorhandenen Host herzustellen und die gesamte sichere Kommunikation einzurichten.

Im Moment werde ich versuchen, die Maschine von https://github.com/bhurlow/machine-share

+1 Bump on this - hat jemand ein Update dazu?

@brandontamm : Ich habe einige Skripte geschrieben, um dieses Problem für mich selbst zu lösen. Ich weiß nicht, ob sie deine lösen werden, aber ich kann es zumindest versuchen. Schauen Sie sich das Wesentliche hier an

Eine Zusammenfassung des Kerns: Es gibt zwei Funktionen - store_machine und load_machine. store_machine speichert alle Informationen zu einem Computer im sicheren Speicher (auf Datenträgerspeicher verschlüsselt). Sie müssen ein Passwort eingeben. Die Funktion load_machine lädt einen Computer aus einem Datenträger auf der Festplatte.

Beachten Sie, dass dieser Python-Code davon ausgeht, dass Sie sstash (Python Secure Stash) installiert haben. Sie können es installieren, indem Sie es ausführen

pip install sstash

+1

Im Ernst - was nützt Docker-Machine, wenn Sie nicht von einem anderen vordefinierten Gerät darauf zugreifen können ...

USE CASE - Baute die Docker-Maschine bei der Arbeit, brauchte dann aber den Laptop für den Urlaub, nur für den Fall, dass ein Server explodiert ...

Komm schon - wo ist Docker Admin, um sich darauf einzulassen?! Das ist ein Anwendungsfall, den JEDER schätzen kann.

@realcr Hast du versucht, die Maschine zu teilen ?

Ich lehne es ab, weitere Abhängigkeiten zu verwenden :) Das Kopieren des .docker-Ordners auf beide OSX-Computer funktionierte perfekt für mich. Meine Pfade und Benutzernamen waren auf beiden Computern gleich, so dass dies der Schlüssel ist, ohne die Pfade manuell zu bearbeiten.

Brandon Tamm
vom Handy geschickt

Am 4. November 2016, um 03:36 Uhr, schrieb Sébastien Boulet [email protected] :

@realcr Hast du versucht, die Maschine zu teilen?

- -
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail, zeigen Sie sie auf GitHub an oder schalten Sie den Thread stumm.

+1

+1

+1

+1

Ich habe docker_machinator geschrieben , um dieses Problem zu lösen.
Dies ist ein Python-Tool, mit dem Sie alle Anmeldeinformationen und Konfigurationen Ihrer Docker-Maschine in einem verschlüsselten Stash speichern können, den Sie beispielsweise bei Ihrem Cloud-Anbieter speichern können. Sie können dies dann von einem anderen Host herunterladen und Ihre Computer aus dem Vorrat zurückladen.
Dies ist ein Python-Tool, daher sollten Sie ein pip install sein, wenn Sie es verwenden.

Ich glaube nicht, dass dies die perfekte Lösung ist, aber dies könnte Sie in Schwung bringen, bis wir eine bessere finden.

Leute, ihr solltet wissen, dass Machine-Share deinen privaten SSH-Schlüssel exportiert, mit dem du Docker-Host über Docker-Computer mit generischem Treiber erstellt hast. So kann jeder, den Sie exportiertes Archiv senden, auf den Server zugreifen, auf dem Docker ausgeführt wird.

@mxl docker -machine bietet einen ssh dem Sie Zugriff auf den Server erhalten. Die von Ihnen beschriebene Situation ist daher unvermeidbar, wenn Sie über ein Tool verfügen, das eine gesamte Konfiguration als importierbare Datei erstellt.

➜ docker-machine
Usage: docker-machine [OPTIONS] COMMAND [arg...]
...
Commands:
...
  ssh                   Log into or run a command on a machine with SSH.

Ich denke, Sie würden dies vermeiden, indem Sie einen Befehl erstellen, mit dem die aktuelle Konfiguration von der Remote-Maschine heruntergeladen werden kann. Ein solcher Download würde erfordern, dass Sie in der Lage sind, auf den Computer zu ssh, anstatt den Zugriff in die importierbare Datei zu packen.

Es ist eine unangenehme Einschränkung, Docker-Computer nur von einem Host aus steuern zu können.
Ich würde auch gerne so etwas wie docker-machine config-from <otherhost> .

Also +1 auch von mir.

/ Bearbeiten: Ich löse derzeit das Problem, indem ich .docker von einem "Master-Server" mit allen anderen Servern synchronisiere, die dieselben Konfigurationen benötigen - über cron und rsync. Dies wird zB für mehrere Build-Slaves benötigt. Keine sehr schöne Lösung.

+1

Hier ist ein anderes Szenario, das mich hierher bringt.

Ich habe ein Tröpfchen erstellt, um eine Reihe von Docker-Bildern zu erstellen, um später zu erkennen, dass ich die Hostregion verschieben muss ...

Die Frage ist, wie ich die Docker-Computer-Instanz anhänge, die aus dem auf dem neuen Host ausgeführten Snapshot wiederhergestellt wurde.

Am Freitag, den 10. März 2017 um 06:16 Uhr schrieb exjimsk [email protected] :

Ich habe ein Tröpfchen erstellt, um eine Reihe von Docker-Bildern zu erstellen, um später zu erkennen, dass ich es bin
müssen Host-Region verschieben. Wie hänge ich die Docker-Maschineninstanz an?
aus dem auf dem neuen Host ausgeführten Snapshot wiederhergestellt?

Wenn sich die Zertifikate nicht geändert haben, sollten Sie in der Lage sein, nur Ihre lokalen zu ändern
Docker-Machine-Konfiguration, um auf die neue IP-Adresse zu verweisen. Sie finden das
Datei unter ~ / .docker / machine / machine / your-machine-name / config.json.

Alternativ, wenn Sie stattdessen niemals Daten in Ihren Docker-Containern beibehalten
Um den Host zu bewegen, töten Sie ihn einfach, erstellen Sie einen neuen und starten Sie denselben
Container auf dem neuen Host.

+1

+1

+1

+1

+1

+1

+1

+1

docker-machine attach , bitte.

Es ist ziemlich bemerkenswert, dass eine so offensichtliche Funktionalität immer noch nicht sofort verfügbar ist. Wir werden Docker-Hosts gemeinsam verwalten, und das ist so ein Ärgernis.

In meinem Fall sehr glücklich, vorhandenen Host ${HOST} mit anzuhängen

docker-machine --tlscacert=ca.pem --tlscert=cert.pem --tlskey=key.pem create \
    --drive none --url tcp://${HOST}:2376

Kopieren Sie jedoch Zertifikate ( ca.pem, cert.pem, key.pem ) manuell nach DOCKER_CERT_PATH .

Irgendwelche Pläne dafür? Es ist frustrierend, wenn vollständige Pfade in config.json aufgezeichnet werden.

Mein Anwendungsfall: Ich habe ein Git-Repo mit darin enthaltenen Maschinenkonfigurationen (ich verwende die -s , um die Docker-Maschine darauf zu verweisen). Geheimnisse werden mit git encrypt gespeichert, und CI-Jobs sollen diese Konfigurationen verwenden können, um die Maschinen zu manipulieren, auf die sie zugreifen müssen.

Zu Ihrer Information: # 3212

@lyda Wir verwenden einen solchen Ansatz mit https://github.com/dmstr/docker-roj - aber ohne Verschlüsselung, was eigentlich eine sehr schöne Funktion wäre!

Während roj immer mit denselben Pfaden arbeitet, da es sich in einem Container befindet, gibt es andere Lösungen wie:

die im Grunde ein paar Pfade in der config.json ändern.
Es ist keine große Magie, es sei denn, ich vermisse hier etwas völlig.

Wird docker-machine von Docker aktiv entwickelt? Ich frage, weil es über einen Monat her ist, seit ein Commit es geschafft hat, zu meistern: https://github.com/docker/machine/commits/master

+1

+1

+1

Mein Gott, der Schrecken! Dieser Thread lebt nach fast drei Jahren noch?!? Dies ist ein Anwendungsfall, auf den jeder stößt oder scheint. Was vermisse ich?

Nun, ich gehe davon aus, dass docker-machine tot ist (zumindest für mich: D). Ich wechselte zu kubernetes . Selbst selbst gehostete kubeadm in der Alfa-Version funktionieren besser als dies tatsächlich. Ich kann es empfehlen :)

Bitte unterstützen Sie dies :(

Fügen Sie "~ / .docker" zu einem Ordner hinzu, der synchronisiert oder möglicherweise symbolisch mit dem Cloud-Ordner auf beiden Computern verknüpft ist. Es gibt einige vorgefertigte Lösungen. Nicht zu harte Leute, recherchieren Sie einfach - hatten Sie nie ein Problem, nachdem Sie 30 Sekunden lang einmal eingerichtet hatten.

+1

+1

Wie diese Funktion sowie die Angabe einer statischen IP - die beiden am häufigsten nachgefragten Funktionen in der Geschichte des Docker-Machine-Projekts - nicht implementiert werden, ist mir ein Rätsel.

Fast 4 Jahre sind vergangen 😮 Gibt es ein Update dazu?

Derzeit schlagen viele Artikel / Tutorials zu Docker vor, Docker-Machine als De-facto-Tool zum Verwalten von Hosts zu verwenden. Dieses Problem ist jedoch ein stark begrenzender Faktor!

Ich verwende derzeit weiterhin Docker-Computer und verwende den Ansatz "Copy-Certs-Dirs", um zwischen unseren lokalen Computern zu teilen. Ich würde gerne auf Kubernetes upgraden, aber es sieht für mein Projekt einfach zu viel aus.

Wie wäre es, wenn Sie docker-machine create in einem Docker-Container ausführen? Dieser Container könnte dann exportiert, auf einen anderen Computer importiert und dort ausgeführt werden.

Ich habe immer noch keinen Anhang, oh mein Gott

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen