Frage Soll ich Vagrant oder Docker zum Erstellen einer isolierten Umgebung verwenden? [geschlossen]


Ich benutze Ubuntu für die Entwicklung und Bereitstellung und benötige eine isolierte Umgebung.

Ich erwäge entweder Vagrant oder Docker für diesen Zweck. Was sind die Vor- und Nachteile oder wie vergleichen diese Lösungen?


1886
2018-05-20 10:05


Ursprung


Antworten:


Wenn dein Zweck die Isolation ist, denke ich, Docker ist was du willst.

Vagrant ist ein virtueller Maschinenmanager. Damit können Sie sowohl die Konfiguration der virtuellen Maschine als auch die Bereitstellung skripten. Es ist jedoch immer noch eine virtuelle Maschine abhängig von VirtuelleBox (oder andere) mit einem riesigen Overhead. Es erfordert, dass Sie eine Festplatte Datei haben, die riesig sein kann, es braucht viel RAM, und die Leistung ist möglicherweise nicht sehr gut.

Docker verwendet andererseits Kernel-Cgroup und Namespacing über LXC. Das bedeutet, dass Sie denselben Kernel wie den Host und das gleiche Dateisystem verwenden. Sie können Dockerfile mit dem verwenden docker build Befehl, um die Bereitstellung und Konfiguration Ihres Containers zu übernehmen. Sie haben ein Beispiel bei docs.docker.com wie Sie Ihre Dockerfile erstellen können; Es ist sehr intuitiv.

Der einzige Grund, warum Sie Vagrant verwenden könnten, ist, wenn Sie BSD, Windows oder andere Nicht-Linux-Entwicklung auf Ihrer Ubuntu-Box tun müssen. Andernfalls gehen Sie zu Docker.


1042
2018-05-26 16:46



Disclaimer: Ich habe Vagrant geschrieben! Aber weil ich Vagrant geschrieben habe, verbringe ich den größten Teil meiner Zeit damit, in der DevOps-Welt zu leben, die Software wie Docker beinhaltet. Ich arbeite mit vielen Unternehmen, die Vagrant verwenden und viele verwenden Docker, und ich sehe, wie die beiden zusammenspielen.

Bevor ich zu viel rede, eine direkte Antwort: In Ihrem speziellen Szenario (Sie arbeiten alleine, arbeiten unter Linux, mit Docker in der Produktion) können Sie bei Docker bleiben und Dinge vereinfachen. In vielen anderen Szenarien (ich diskutiere weiter) ist es nicht so einfach.

Es ist nicht korrekt, Vagrant direkt mit Docker zu vergleichen. In einigen Szenarien überschneiden sie sich und in der überwiegenden Mehrheit nicht. Eigentlich wäre der bessere Vergleich Vagrant gegen etwas wie Boot2Docker (minimales Betriebssystem, das Docker ausführen kann). Vagrant ist in Bezug auf Abstraktionen ein Level über Docker, daher ist es in den meisten Fällen kein fairer Vergleich.

Vagrant startet Dinge, um Apps / Dienste zum Zwecke der Entwicklung auszuführen. Dies kann auf VirtualBox, VMware sein. Es kann entfernt wie AWS, OpenStack sein. Wenn Sie Container verwenden, kümmert sich Vagrant nicht darum und kann dies auch übernehmen: So können beispielsweise Docker-Container automatisch installiert, heruntergezogen, erstellt und ausgeführt werden. Mit Vagrant 1.6 hat Vagrant docker-basierte Entwicklungsumgebungenund unterstützt Docker mit demselben Workflow wie Vagrant für Linux, Mac und Windows. Vagrant versucht nicht, Docker hier zu ersetzen, es umfasst Docker-Praktiken.

Docker führt speziell Docker-Container aus. Wenn Sie direkt mit Vagrant vergleichen: Es ist speziell eine spezifischere (kann nur Docker-Container ausführen), weniger flexible (erfordert Linux oder Linux-Host irgendwo) -Lösung. Natürlich, wenn Sie über Produktion oder CI sprechen, gibt es keinen Vergleich zu Vagrant! Vagrant lebt nicht in diesen Umgebungen, und so sollte Docker verwendet werden.

Wenn Ihre Organisation nur Docker-Container für all ihre Projekte ausführt und nur Entwickler unter Linux laufen, dann könnte Docker definitiv für Sie arbeiten!

Ansonsten sehe ich keinen Vorteil darin, Docker alleine zu verwenden, da Sie viel von dem verlieren, was Vagrant zu bieten hat und die echte Vorteile in Bezug auf Geschäft und Produktivität haben:

  • Vagrant kann VirtualBox-, VMware-, AWS-, OpenStack-Maschinen usw. starten. Es spielt keine Rolle, was Sie brauchen, Vagrant kann es starten. Wenn Sie Docker verwenden, kann Vagrant Docker auf jedem dieser Geräte installieren, damit Sie sie für diesen Zweck verwenden können.

  • Vagrant ist ein einziger Workflow für all Ihre Projekte. Anders gesagt, es ist nur eine Sache, dass Menschen lernen müssen, ein Projekt auszuführen, egal ob es in einem Docker-Container ist oder nicht. Wenn zum Beispiel in Zukunft ein Wettbewerber direkt mit Docker konkurrieren wird, kann Vagrant das auch tun.

  • Vagrant funktioniert unter Windows (zurück zu XP), Mac (zurück zu 10.5) und Linux (zurück zu Kernel 2.6). In allen drei Fällen ist der Workflow identisch. Wenn Sie Docker verwenden, kann Vagrant einen Computer (VM oder Remote) starten, der Docker auf allen drei Systemen ausführen kann.

  • Vagrant weiß, wie man einige fortgeschrittene oder nicht-triviale Dinge wie Netzwerk- und Synchronisationsordner konfiguriert. Zum Beispiel: Vagrant weiß, wie man eine statische IP an eine Maschine anlegt oder Ports weiterleitet, und die Konfiguration ist dieselbe, egal welches System Sie verwenden (VirtualBox, VMware, etc.) Für synchronisierte Ordner bietet Vagrant mehrere Mechanismen, um Ihre lokalen zu erhalten Dateien auf den Remote-Rechner (VirtualBox freigegebene Ordner, NFS, rsync, Samba [plugin] usw.). Wenn Sie Docker verwenden, sogar Docker mit einer VM ohne Vagrant, müssten Sie dies manuell tun oder Vagrant in diesem Fall neu erfinden.

  • Vagrant 1.6 bietet erstklassige Unterstützung für docker-basierte Entwicklungsumgebungen. Dadurch wird eine virtuelle Maschine unter Linux nicht gestartet und eine virtuelle Maschine wird automatisch auf Mac und Windows gestartet. Das Endergebnis ist, dass die Arbeit mit Docker auf allen Plattformen einheitlich ist, während Vagrant immer noch die mühsamen Details von Dingen wie Netzwerk, synchronisierten Ordnern usw. behandelt.

Um spezifische Gegenargumente anzusprechen, die ich für die Verwendung von Docker anstelle von Vagrant gehört habe:

  • "Es sind weniger bewegliche Teile" - Ja, kann es sein, wenn Sie Docker ausschließlich für jedes Projekt verwenden. Selbst dann wird die Flexibilität für das Docker Lock-In geopfert. Wenn Sie sich jemals entscheiden, Docker nicht für ein Projekt aus der Vergangenheit, Gegenwart oder Zukunft zu verwenden, haben Sie mehr bewegliche Teile. Wenn Sie Vagrant benutzt haben, haben Sie das eine bewegliche Teil, das den Rest unterstützt.

  • "Es ist schneller!" - Sobald Sie den Host haben, der Linux-Container ausführen kann, ist Docker definitiv schneller beim Ausführen eines Containers als jeder virtuelle Computer starten würde. Das Starten einer virtuellen Maschine (oder einer Remote-Maschine) ist jedoch einmalig. Im Laufe des Tages zerstören die meisten Vagrant-Benutzer ihre VM niemals. Es ist eine merkwürdige Optimierung für Entwicklungsumgebungen. In der Produktion, wo Docker wirklich glänzt, verstehe ich die Notwendigkeit, Container schnell hoch / runter zu drehen.

Ich hoffe jetzt, es ist klar, dass es sehr schwierig ist und ich glaube nicht, Docker mit Vagrant zu vergleichen. Für Dev-Umgebungen ist Vagrant abstrakter, allgemeiner. Docker (und die verschiedenen Möglichkeiten, wie man es sich wie Vagrant verhalten kann) ist ein spezieller Anwendungsfall von Vagrant, der alles andere ignoriert, was Vagrant zu bieten hat.

Fazit: In sehr spezifischen Anwendungsfällen ist Docker sicherlich ein möglicher Ersatz für Vagrant. In den meisten Anwendungsfällen ist dies nicht der Fall. Vagrant behindert nicht die Verwendung von Docker; Es tut tatsächlich, was es kann, um diese Erfahrung glatter zu machen. Wenn Sie feststellen, dass das nicht stimmt, nehme ich gerne Vorschläge zur Verbesserung der Dinge an, da es ein Ziel von Vagrant ist, mit jedem System gleich gut zu arbeiten.

Hoffe das klärt die Dinge auf!


2172
2018-01-23 16:55



Ich bin der Autor von Docker.

Die kurze Antwort ist, dass wenn Sie Maschinen verwalten möchten, sollten Sie Vagrant verwenden. Wenn Sie Anwendungsumgebungen erstellen und ausführen möchten, sollten Sie Docker verwenden.

Vagrant ist ein Tool zur Verwaltung virtueller Maschinen. Docker ist ein Tool zum Erstellen und Bereitstellen von Anwendungen, indem diese in leichte Container verpackt werden. Ein Container kann so ziemlich jede Softwarekomponente zusammen mit ihren Abhängigkeiten (ausführbare Dateien, Bibliotheken, Konfigurationsdateien usw.) speichern und in einer garantierten und wiederholbaren Laufzeitumgebung ausführen. Dies macht es sehr einfach, Ihre App einmal zu erstellen und sie überall bereitzustellen - auf Ihrem Laptop zum Testen, dann auf verschiedenen Servern für die Live-Bereitstellung usw.

Es ist ein häufiges Missverständnis, dass Sie Docker nur unter Linux verwenden können. Das ist falsch; Sie können Docker auch auf dem Mac installieren, und die Windows-Unterstützung läuft. Wenn Docker auf dem Mac installiert wird, bündelt er eine kleine Linux-VM (25 MB auf der Festplatte!), Die als Wrapper für Ihren Container dient. Einmal installiert, ist dies völlig transparent; Sie können die Docker-Befehlszeile auf die gleiche Weise verwenden. Damit haben Sie das Beste aus beiden Welten: Sie können Ihre Anwendung mit Behältern testen und entwickeln, die sehr leicht sind, leicht zu testen und leicht zu bewegen sind (siehe zum Beispiel) https://hub.docker.com für die gemeinsame Nutzung wiederverwendbarer Container mit der Docker-Community), und Sie müssen sich nicht um die wesentlichen Details der Verwaltung virtueller Maschinen kümmern, die ohnehin nur ein Mittel zum Zweck sind.

Theoretisch ist es möglich, Vagrant als Abstraktionsschicht für Docker zu verwenden. Ich empfehle das aus zwei Gründen:

  • Erstens, Vagrant ist keine gute Abstraktion für Docker. Vagrant wurde entwickelt, um virtuelle Maschinen zu verwalten. Docker wurde entwickelt, um eine Anwendungslaufzeit zu verwalten. Dies bedeutet, dass Docker von Entwurf aus auf eine umfangreichere Weise mit einer Anwendung interagieren kann und mehr Informationen zur Anwendungslaufzeit enthält. Die Grundelemente in Docker sind Prozesse, Protokollströme, Umgebungsvariablen und Netzwerkverbindungen zwischen Komponenten. Die Grundelemente in Vagrant sind Maschinen, Blockgeräte und SSH-Schlüssel. Vagrant sitzt einfach tiefer im Stapel, und die einzige Möglichkeit, mit einem Container zu interagieren, besteht darin, so zu tun, als wäre es nur eine andere Art von Maschine, die man "booten" und "anmelden" kann. Also, sicher, Sie können "vagrant up" mit einem Docker-Plugin eingeben und etwas Hübsches wird passieren. Ist es ein Ersatz für die volle Bandbreite dessen, was Docker tun kann? Probieren Sie ein paar Tage lang Native Docker aus und überzeugen Sie sich selbst :)

  • Zweitens, das Lock-In-Argument. "Wenn Sie Vagrant als Abstraktion verwenden, sind Sie nicht in Docker eingesperrt!". Aus der Sicht von Vagrant, die Maschinen verwalten soll, ist dies durchaus sinnvoll: Sind Container nicht nur eine andere Art von Maschine? Genau wie Amazon EC2 und VMware müssen wir darauf achten, unsere Provisioning-Tools nicht an einen bestimmten Anbieter zu binden. Dies würde Lock-In schaffen - besser, um alles mit Vagrant zu abstrahieren. Außer dies vermisst der Punkt von Docker vollständig. Docker stellt keine Maschinen zur Verfügung; Es umschließt Ihre Anwendung in einer leichten tragbaren Laufzeitumgebung, die überall abgelegt werden kann.

Welche Laufzeit Sie für Ihre Anwendung wählen, hat nichts damit zu tun, wie Sie Ihre Maschinen bereitstellen! Zum Beispiel ist es ziemlich häufig, Anwendungen auf Maschinen bereitzustellen, die von jemand anderem bereitgestellt werden (z. B. eine EC2-Instance von Ihrem Systemadministrator, vielleicht Vagrant) oder Bare-Metal-Maschinen, die Vagrant überhaupt nicht bereitstellen kann. Umgekehrt können Sie mit Vagrant Maschinen bereitstellen, die nichts mit der Entwicklung Ihrer Anwendung zu tun haben - zum Beispiel eine sofort einsatzbereite Windows IIS-Box oder etwas anderes. Oder Sie verwenden Vagrant, um Maschinen für Projekte bereitzustellen, die Docker nicht verwenden - vielleicht verwenden sie zum Beispiel eine Kombination aus Rubygems und Rvm für das Abhängigkeitsmanagement und Sandboxing.

Zusammengefasst: Vagrant dient zum Verwalten von Computern und Docker zum Erstellen und Ausführen von Anwendungsumgebungen.


1281
2018-03-13 06:16



Ich stelle meine Antwort vor, indem ich gestehe, dass ich keine Erfahrung mit Docker habe, außer als eifriger Beobachter dessen, was aussieht, als wäre es eine wirklich saubere Lösung, die viel an Zugkraft gewinnt.

Ich habe eine anständige Menge Erfahrung mit Vagrant und kann es sehr empfehlen. Es ist sicherlich eine schwerere Lösung in Bezug auf die VM basiert statt LXC basiert. Ich habe jedoch festgestellt, dass ein anständiger Laptop (8 GB RAM, i5 / i7 CPU) keine Probleme hat, eine VM mit Vagrant / VirtualBox zusammen mit Entwicklungswerkzeugen zu betreiben.

Eines der wirklich großen Dinge mit Vagrant ist die Integration mit Marionette/Koch/ Shell-Skripte zur Automatisierung der Konfiguration. Wenn Sie eine dieser Optionen verwenden, um Ihre Produktionsumgebung zu konfigurieren, können Sie eine Entwicklungsumgebung erstellen, die fast identisch ist mit der, die Sie erhalten, und genau das möchten Sie.

Die andere großartige Sache mit Vagrant ist, dass Sie Ihre Vagrantfile zusammen mit Ihrem Anwendungscode versionieren können. Dies bedeutet, dass alle anderen Personen in Ihrem Team diese Datei gemeinsam nutzen können und Sie sicherstellen können, dass alle mit derselben Umgebungskonfiguration arbeiten.

Interessanterweise können Vagrant und Docker tatsächlich kostenlos sein. Vagrant kann erweitert werden, um verschiedene Virtualisierungsanbieter zu unterstützen, und es ist möglich, dass Docker ein solcher Anbieter ist, der in naher Zukunft Unterstützung erhält. Sehen https://github.com/dotcloud/docker/issues/404 für die jüngste Diskussion zu diesem Thema.


72
2018-06-25 21:33



Sie sind sehr komplementär.

Ich habe eine Kombination aus VirtualBox, Vagrant und Docker für alle meine Projekte für mehrere Monate verwendet und habe die folgenden Vorteile stark gespürt.

In Vagrant können Sie die Bereitstellung eines Chef-Solos komplett abschaffen. Alles, was Sie für Ihre vagabundierende Datei benötigen, ist die Vorbereitung eines Computers, der ein einzelnes kleines Shell-Skript ausführt, das Docker installiert. Das bedeutet, dass meine Vagrant-Dateien für jedes Projekt fast identisch und sehr einfach sind.

Hier ist eine typische Vagrantfile

# -*- mode: ruby -*-
# vi: set ft=ruby :
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "mark2"
  config.vm.box_url = "http://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box"
  [3000, 5000, 2345, 15672, 5672, 15674, 27017, 28017, 9200, 9300, 11211, 55674, 61614, 55672, 5671, 61613].each do |p|
    config.vm.network :forwarded_port, guest: p, host: p
  end
  config.vm.network :private_network, ip: "192.168.56.20"
  config.vm.synced_folder ".", "/vagrant", :type => "nfs"
  config.vm.provider :virtualbox do |vb|
    vb.customize ["modifyvm", :id, "--memory", "2048"]
    vb.customize ["modifyvm", :id, "--cpus", "2"]
  end
  # Bootstrap to Docker
  config.vm.provision :shell, path: "script/vagrant/bootstrap", :privileged => true
  # Build docker containers
  config.vm.provision :shell, path: "script/vagrant/docker_build", :privileged => true
  # Start containers
  # config.vm.provision :shell, path: "script/vagrant/docker_start", :privileged => true
end

Die Bootstrap-Datei, die Docker installiert, sieht so aus

#!/usr/bin/env bash
echo 'vagrant  ALL= (ALL:ALL) NOPASSWD: ALL' >> /etc/sudoers
apt-get update -y
apt-get install htop -y
apt-get install linux-image-extra-`uname -r` -y
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list
apt-get update -y
apt-get install lxc-docker -y
apt-get install curl -y

Jetzt, um alle Dienste zu bekommen, die ich brauche, habe ich ein docker_start-Skript, das ungefähr so ​​aussieht

#!/bin/bash
cd /vagrant
echo Starting required service containers
export HOST_NAME=192.168.56.20
# Start MongoDB
docker run --name=mongodb --detach=true --publish=27017:27017 --publish=28017:28017 dockerfile/mongodb
read -t5 -n1 -r -p "Waiting for mongodb to start..." key
# Start rabbitmq
docker run --name=rabbitmq --detach=true --publish=5671:5671 --publish=5672:5672 --publish=55672:55672 --publish=15672:15672 --publish=15674:15674 --publish=61613:61613 --env RABBITMQ_USER=guest --env RABBITMQ_PASS=guest rabbitmq
read -t5 -n1 -r -p "Waiting for rabbitmq to start..." key
# Start cache
docker run --name=memcached --detach=true --publish=11211:11211  ehazlett/memcached
read -t5 -n1 -r -p "Waiting for cache to start..." key
# Start elasticsearch
docker run --name=elasticsearch --detach=true --publish=9200:9200 --publish=9300:9300 dockerfile/elasticsearch
read -t5 -n1 -r -p "Waiting for elasticsearch to start..." key
echo "All services started"

In diesem Beispiel verwende ich MongoDB, Elastisearch, RabbitMQ und Memcached

Eine Nicht-Docker-Chef-Solo-Konfiguration wäre wesentlich komplizierter.

Ein letzter großer Pluspunkt wird erreicht, wenn Sie in die Produktion gehen und die Entwicklungsumgebung auf eine Infrastruktur von Hosts umwandeln, die alle gleich sind, da sie einfach genug Konfiguration haben, um docker zu betreiben, bedeutet sehr wenig Arbeit.

Wenn Sie interessiert sind, habe ich einen ausführlicheren Artikel über die Entwicklungsumgebung auf meiner eigenen Website unter

Implementieren einer Vagrant / Docker-Entwicklungsumgebung


51
2017-08-20 20:42



Vagrant-lxc ist ein Plugin für Vagrant, mit dem Sie LXC verwenden können, um Vagrant bereitzustellen. Es verfügt nicht über alle Funktionen, die die Standard-Vagrant-VM (VirtualBox) aufweist, aber es sollte Ihnen mehr Flexibilität als Andock-Containern ermöglichen. Es gibt ein Video im Link, das seine Fähigkeiten zeigt, die es sich zu sehen lohnt.


47
2017-08-01 18:44



Mit Vagrant können Sie jetzt Docker als Provider haben. http://docs.vagrantup.com/v2/docker/. Docker Provider kann anstelle von VirtualBox oder VMware verwendet werden.

Bitte beachten Sie, dass Sie Docker auch für die Bereitstellung mit Vagrant verwenden können. Dies ist sehr anders als die Verwendung von Docker als Provider. http://docs.vagrantup.com/v2/provisioning/docker.html

Dies bedeutet, dass Sie ersetzen können Koch oder Marionette mit Docker. Sie können Kombinationen wie Docker als Provider (VM) mit Chef als Bereitsteller verwenden. Oder Sie können VirtualBox als Provider und Docker als Provisioner verwenden.


41
2018-05-30 16:10



Die Verwendung beider Komponenten ist ein wichtiger Bestandteil des Testens der Anwendungsbereitstellung. Ich beginne gerade erst, mich mit Docker zu beschäftigen und denke sehr intensiv über ein Anwendungsteam nach, das eine schreckliche Komplexität beim Erstellen und Bereitstellen seiner Software hat. Denken Sie an eine klassische Phoenix-Projekt- / Continuous-Delivery-Situation.

Das Denken geht etwa so:

  • Nimm eine Java / Go-Anwendungskomponente und baue sie als Container auf (Hinweis, nicht sicher, ob die App im Container gebaut oder dann gebaut werden soll in den Container installiert)
  • Liefern Sie den Container an eine Vagrant-VM.
  • Wiederholen Sie dies für alle Anwendungskomponenten.
  • Iterieren Sie die zu codierenden Komponenten.
  • Testen Sie den Übermittlungsmechanismus kontinuierlich auf die von Vagrant verwalteten VMs
  • Wenn Sie gut schlafen und wissen, wann es Zeit ist, den Container zu deployen, war der Integrationstest viel kontinuierlicher als vor Docker.

Dies scheint die logische Erweiterung von Mitchells Aussage zu sein, dass Vagrant für die Entwicklung in Kombination mit Farley / Humbles Denken in Continuous Delivery gedacht ist. Wenn ich als Entwickler die Rückkopplungsschleife für Integrationstests und die Anwendungsbereitstellung verkleinern kann, werden höhere Qualitäts- und bessere Arbeitsumgebungen folgen.

Die Tatsache, dass ich als Entwickler ständig und konstant Container an die VM übergebe und die Anwendung ganzheitlicher teste, bedeutet, dass die Produktionsfreigaben weiter vereinfacht werden.

Ich sehe Vagrant also als eine Möglichkeit, einige der großartigen Konsequenzen zu nutzen, die Docker für die App-Bereitstellung hat.


11
2018-06-20 00:56



Es gibt einen wirklich informativen Artikel im aktuellen Oracle Java Magazin über die Verwendung von Docker in Kombination mit Vagrant (und Puppet):

Fazit

Die leichten Container von Docker sind im Vergleich zu klassischen VMs schneller   und wurden unter Entwicklern und als Teil von CD und DevOps populär   Initiativen. Wenn Ihr Zweck Isolation ist, ist Docker eine ausgezeichnete Wahl.   Vagrant ist ein VM-Manager, mit dem Sie Konfigurationen von   einzelne VMs sowie die Bereitstellung. Es ist jedoch a   VM ist abhängig von VirtualBox (oder einem anderen VM-Manager) mit relativ   großer Aufwand. Es erfordert, dass Sie eine Festplatte im Leerlauf haben, die sein kann   riesig, es braucht viel RAM, und die Leistung kann suboptimal sein. Docker   verwendet Kernel-Cgroups und Namespace-Isolation über LXC. Das bedeutet, dass   Sie verwenden denselben Kernel wie der Host und das gleiche ile-System.   Vagrant ist eine Ebene über Docker in Bezug auf Abstraktion, so sind sie   nicht wirklich vergleichbar. Konfigurationsverwaltungstools wie Puppet sind   weit verbreitet für die Bereitstellung von Zielumgebungen. Wiederverwendung bestehender   Puppet-basierte Lösungen sind mit Docker einfach. Sie können auch Ihre Scheiben schneiden   Lösung, so dass die Infrastruktur mit Puppet bereitgestellt wird; das   Middleware, die Geschäftsanwendung selbst oder beide werden bereitgestellt   mit Docker; und Docker wird von Vagrant eingepackt. Mit dieser Auswahl von   Werkzeuge, können Sie das Beste für Ihr Szenario tun.

Wie man Docker-Container in DevOps erstellt, verwendet und orchestriert http://www.javamagazine.mozaicreader.com/JulyAug2015#&pageSet=34&page=0


5
2017-08-20 13:04