Ist es möglich, ein Docker-Image direkt in AWS zu implementieren?

8

Ich habe eine harte Zeit, mein Gehirn um die Möglichkeiten von Docker zu wickeln, also entschuldige meine Unwissenheit hier:

Kann ich ein Docker-Image eines von mir erstellten Datenbankservers verwenden und über einen bestimmten Mechanismus direkt auf einen neuen EC2-Server übertragen? Oder, müsste ich den EC2 Server erstellen, dann Docker auf dem Server installieren, dann das Image auf den Server ziehen, etc.

Ich bin auch vollkommen in Ordnung, wenn ich extra Code für irgendeinen Teil dieses Prozesses schreiben muss. Ich bin mir nur nicht sicher, ob es möglich ist.

Missverstehe ich die maximale Reichweite von Docker's Nützlichkeit?

    
orokusaki 03.03.2014, 00:43
quelle

1 Antwort

5

Der einfachste Weg ist, wie Sie gesagt haben (EC2-Instanz erstellen, Docker installieren, Bild ziehen, Bild ausführen).

Wenn Sie den Overhead von LXC (der ohnehin extrem klein ist) loswerden wollen, gibt es mehrere Lösungen:

  • Sie können docker export verwenden, um einen Tarball des rootfs des Containers zu generieren, diesen Tarball auf der EC2-Instanz zu entpacken und dort zu chroot;
  • Sie können eine chroot Laufzeit zu Docker hinzufügen, um genau das zu tun, aber auf automatisierte Weise (jeder docker run wird einer Chroot zugeordnet);
  • Wenn das Docker-Image aus einer Docker-Datei erstellt wird, können Sie versuchen, die FROM -Zeile einer EC2-AMI-Basis zuzuordnen und dann die Docker-Datei manuell (z. B. über cloudinit) anzuwenden.

Es ist verlockend, ein natives Bild (mit der letzten Lösung) zu erhalten, aber es ist auch die am wenigsten zuverlässige Lösung, da es keine zuverlässige Zuordnung zwischen Docker-Basisbildern und EC2-Basisbildern gibt.

>

Wenn alle Ihre Basen z.B. Ubuntu, du könntest ziemlich erfolgreich Dockerfiles in Cloudinit-Templates umwandeln; aber ich würde persönlich Option 1 oder 2 wählen.

    
jpetazzo 04.03.2014, 02:42
quelle