it-swarm.com.de

Docker.io für Windows

Ich habe eine nette Frage über Docker gelesen - Antwort hat einen Überblick über Docker-Implementierungsdetails . Ich habe mich gefragt, ob so etwas auf der Windows-Plattform möglich ist.

  • Gibt es Windows-Alternativen für Docker? 
  • Ist es theoretisch möglich, andere (Windows-basierte) Komponenten zu verwenden, um sie zu erstellen?

Update1:

Update2::

Für Informationen zur Installation des Dockers unter Windows (nicht verwandt) - offizielle Dokumente enthält großartige Anweisungen zum Einrichten der Umgebung mithilfe der boot2docker-VM.

36
Jiri

Sie können Docker in einer virtuellen Maschine ausführen.


Neues Update

Vagrant hat jetzt die Docker-Unterstützung integriert. Es kann als Provider oder als Provisioner verwendet werden. Hier sind einige nützliche Links.

Feature Preview: Docker-basierte Entwicklungsumgebungen

Vagrant Docs: Docker Provisioner

Vagrant Docs: Docker-Anbieter


Altes Update

Wie seanf in einem Kommentar unten ausführte, wurde die Unterstützung von Vagrant eingestellt. Stattdessen zeigen sie auf boot2docker :

boot2docker ist eine leichtgewichtige Linux-Distribution, die auf Tiny Core basiert Linux speziell für die Ausführung von Docker-Containern. Es läuft komplett von RAM wiegt ~ 24 MB und lädt in ~ 5 s (YMMV).

Alte Antwort

Die offizielle Docker-Dokumentation enthält eine kleine Anleitung zum Installieren des Dockers in einer Vagrant-Box. Vagrant ist ein großartiger vm Management Wrapper. Das Handbuch ist für Mac/Linux, aber Sie haben die Idee, dies auch unter Windows zu tun:

http://docs.docker.io/de/latest/installation/vagrant/

Auf diese Weise können Sie Docker-Images auf mehreren Systemen mit unterschiedlichen Betriebssystemen freigeben.

22
Alp

Wenn Sie nur nach einer Möglichkeit suchen, eine vorgepackte Gruppe von Anwendungen in einer Art Container für Windows bereitzustellen, wobei Registrierung und Dateizugriff virtualisiert sind, ohne jedoch ein vollständig erstelltes Image einer virtuellen Maschine zu verwenden, werden wie Anwendungen könnten einen Blick wert sein:

Edit: Es gibt ein neues Kind im Block, Spoon unterstützt Container für Windows und es sieht tatsächlich sehr vielversprechend aus.

8
sschuberth

Ich habe festgestellt, dass zumindest die mit dem Dateisystem zusammenhängende Funktionalität Windows (7,8) bereits installiert hat. Man kann VHD-Dateien (virtuelle Festplatten) für das "Image" -Konzept in Docker verwenden. Diese Images werden für virtuelle Maschinen verwendet, können aber auch direkt von Windows erstellt/angehängt/verwendet werden:

diskpart
DISKPART> create vdisk file=c:\base-image.vhd maximum=200 type=expandable

Neues Bild kann über dem Basisbild angeordnet werden:

DISKPART> create vdisk file=c:\image-2.vhd parent=c:\base-image.vhd

Weitere Informationen zum Verwalten von virtuellen Laufwerken .

Leider ist das leichte Isolieren/Sandboxen von Prozessen wahrscheinlich nicht möglich (zumindest nicht einfach), obwohl einige Methoden existieren ( http://www.sandboxie.com/ , Native Client in Google Chrome ...)

6
Jiri

Microsoft arbeitet an eigenen Hyper-V-Containern die Docker-ähnlich sind - Azure unterstützt auch die Docker-Infrastruktur.

Abgesehen davon ist es schwierig, genaue Alternativen zu geben, aber auf der Windows-Seite gibt es App-V seit geraumer Zeit, die Virtualisierungen und Sandbox-Anwendungen so ausführt, dass sie ausgeführt oder gestreamt werden können, ohne auf einem bestimmten System installiert zu sein. Ich habe mich nie damit beschäftigt, scheint aber in der Lage zu sein, als Standalone - Client zu laufen, ohne die komplizierte Serverinfrastruktur zu benötigen, die normalerweise für Microsoft erforderlich ist.

Aus einer anderen Perspektive unterstützt das von Windows (VHD) verwendete Festplattenabbildformat die Standarddifferenzierung, sodass Sie viele virtuelle Maschinen problemlos von einem einzigen schreibgeschützten Betriebssystemabbild ausführen können, bei dem jede virtuelle Maschine über ein kleines Schreibabbild für die Unterschiede verfügt. Dies sind jedoch immer noch vollständige virtuelle Maschinen.

3
Oskar Duveborn
2
marengz

Ich kenne momentan keine Möglichkeit, an nativen Fenstern das Gleiche zu tun wie jetzt.

Ich denke nicht, dass der Windows-Kernel für diese Art von Dingen entwickelt wurde, damit Microsoft unterstützt werden müsste, um den Windows-Kernel zu unterstützen. Wenn ich falsch liege, korrigiere mich bitte jemand.

Die üblichste Methode für Benutzer, etwas in dieser Art zu tun, ist die Verwendung eines VM in Windows, auf dem ein Linux-basiertes Betriebssystem ausgeführt wird, und alles darin. Sie können dasselbe auch mit FreeBSD (Jails) und Solaris (Zonen) tun, wenn Sie mehr davon brauchen. Momentan unterstützt Docker jedoch kein FreeBSD oder Solaris, daher müssen Sie dafür die nativen Tools verwenden.

2
Ken Cochrane

Docker kann ab Juni 2016 mit der Hyper-V-Virtualisierung von Microsoft auf Windows 10-Hosts ausgeführt werden. Dies ist jetzt die bevorzugte und "offizielle" Methode, um Docker unter Windows auszuführen.

https://docs.docker.com/engine/installation/windows/

Hyper-V ist ein Typ-1-Hypervisor , dh das Andockfenster führt eine Ebene näher an der Host-Hardware aus und ist deutlich schneller als boot2docker (wobei VirtualBox, ein Typ-2-Hypervisor, der im Host-Betriebssystem ausgeführt wird) verwendet wird. .

Der Leistungsvorteil für Docker hat auch einen Nachteil: Durch die Aktivierung von Hyper-V werden Hardwarevirtualisierungsfunktionen für Typ-2-Hypervisoren verhindert. Daher können vorhandene VirtualBox-Images nicht mit VTx verwendet werden. V auch.

Windows 7-8.1-Hosts können weiterhin boot2docker zum Ausführen von Docker-Containern verwenden. Der Hauptentwicklungsschwerpunkt von Docker unter Windows ist jedoch der "neue" Hyper-V-Docker.

1
Leon Adler

Hyper-V ist nur unter Windows Pro verfügbar. Installieren Sie es für 110 £.

Oder installieren Sie einfach Vagrant, installieren Sie VirtualBox, installieren Sie GIT-Bash und dann von Ihrem GIT-Bash-Terminal aus.

git clone [email protected]:danday74/vagrant-docker-skelly.git
cd vagrant-docker-skelly
vagrant up # takes approx 5 mins to create VM
vagrant ssh
docker -v
docker-compose -v

Die Vagrantfile zeigt, dass:

1 - Dies ist ein Xenial VM mit Docker und Compose, das darauf installiert ist

2 - Vom Host für VM zugeordnete Ports sind 9900-9920

3 - Der freigegebene Ordner wird vom Host für die VM freigegeben

Passen Sie dies nach Wunsch an.

1
danday74

Ich wurde müde, mit einem Maven-Docker-Plugin zu kämpfen, also dachte ich, ich könnte es fälschen. Das ist wie:

Wenn Sie boot2docker und die folgende bat-Datei verwenden, sieht es so aus, als würden Sie Docker nativ ausführen. Platziere es auf deinem Weg.

@set SSH="C:\Program Files (x86)\Git\bin\ssh.exe"
@set RUN_REMOTE='docker %*'
@ %SSH% -o IdentitiesOnly=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -p 2022 -i %HOMEPATH%/.ssh/id_boot2docker -tt [email protected] %RUN_REMOTE%

Die Datei ssh.exe stammt aus dem Paket msys-git, das in boot2docker enthalten ist. Ich bin mir ziemlich sicher, dass diese Lösung einige Vorbehalte hat, aber sie funktioniert ziemlich gut für mich. Platziere diese Datei auf deinem Pfad und bobs deinen Onkel.

0
Markus T