Suchen

Container in Windows Server 2016 Visual Studio Tools for Docker

| Autor / Redakteur: Thomas Joos / Stephan Augsten

Container-Apps lassen sich direkt unter Windows Server 2016 entwickeln und debuggen. Mit den Visual Studio Tools for Docker stellt Microsoft eine Erweiterung für Visual Studio bereit, die genau dabei helfen soll.

Firma zum Thema

Die Integration von Visual Studio Tools for Docker erfolgt über Erweiterungen in Visual Studio 2015.
Die Integration von Visual Studio Tools for Docker erfolgt über Erweiterungen in Visual Studio 2015.
(Bild: Bild: Docker / Microsoft)

Visual Studio Tools helfen dabei, Linux-Container unter Docker für Windows zu entwickeln. Aktuell arbeitet Microsoft daran, auch Windows-Server-Container in die Lösung einzubinden. Somit werden die Visual Studio Tools für Docker künftig auch erlauben, Anwendungen für Server- und Hyper-V-Container zu programmieren.

Das Visual Studio 2015 Update 3 wird für die Verwendung von Visual Studio Tools for Docker benötigt.
Das Visual Studio 2015 Update 3 wird für die Verwendung von Visual Studio Tools for Docker benötigt.
(Bild: Thomas Joos)

Für den Einsatz von Visual Studio Tools for Docker wird Visual Studio 2015 mit Update 3 oder höher benötigt. Zur Auswahl stehen Visual Studio 2015 Enterprise, Professional oder auch Community 2015. Außerdem sind mindestens .NET Core 1.0.1 – VS 2015 Tooling Preview 2 und Docker für Windows notwendig.

Visual Studio Tools für Docker installieren und einrichten

Damit Docker für Windows mit den Visual Studio Tools for Docker zusammenarbeiten kann, müssen geteilte Laufwerke (Shared Drives) eingerichtet werden. Das erfolgt in den Einstellungen von Docker for Windows.
Damit Docker für Windows mit den Visual Studio Tools for Docker zusammenarbeiten kann, müssen geteilte Laufwerke (Shared Drives) eingerichtet werden. Das erfolgt in den Einstellungen von Docker for Windows.
(Bild: Thomas Joos)

Die Integration von Visual Studio Tools for Docker erfolgt über die Erweiterungen in Visual Studio 2015. Außerdem müssen Sie in Docker für Windows freigegebene Laufwerke (Shared Drives) einrichten.

Sobald in Visual Studio ein neues Projekt gestartet wird, steht nach der Installation der Visual Studio Tools für Docker die Option zum Hinzufügen des Docker-Supports über den Menüpunkt Projekt zur Verfügung. Sobald der Docker-Support für Visual Studio 2015 hinzugefügt wurde, sind Container in Visual Studio für dieses Projekt verfügbar.

Visual-Studio-Projekte kompatibel zu Docker machen

Das Hinzufügen der Docker-Unterstützung für ein Projekt hat verschiedene Auswirkungen. In erster Linie fügt Visual Studio verschiedene Dateien zum Projekt hinzu: Das Docker-File für Projekte in Visual Studio 2015 basiert auf dem Container-Imagemicrosoft/aspnetcore“. In diesem Paket sind alle für ASP.NET benötigten Pakete enthalten, so dass entsprechende Programme im Container-Image laufen.

Zusätzlich zum Container-Image sind noch Steuerungsdateien enthalten, um den Container zu starten. Die Datei „docker-compose.yml“ legt fest, welche Sammlungen von Images notwendig sind, um den Container mit der Anwendung zu starten. Weitere Dateien, die zum Debuggen notwendig sind, integrieren die Visual Studio Tools for Docker ebenfalls. Dabei handelt es sich um die Dateien „docker-compose.dev.debug.yml“ und „docker-compose.dev.release.yml“.

Debuggen von Container-Apps

Einer der Schwerpunkte von Visual Studio for Docker ist das Debuggen von Apps, die in Docker-Containern laufen sollen. Das Debuggen für Container-Apps wird in Visual Studio for Docker genauso gestartet, wie das Debuggen herkömmlicher Anwendungen. Durch das Installieren der Visual Studio Tools for Docker wird Visual Studio um den Menüpunkt Docker erweitert.

Durch Auswahl dieses Menüpunktes und Drücken der Taste F5 startet der Debug-Vorgang. Nach dem Start lädt Visual Studio zunächst das Docker-Image „microsoft\aspnetcore“. Im Container wird die „ASPNETCORE_ENVIRONMENT“ auf „Development“ festgelegt. Danach wird er Port 80 freigeschaltet und über einen dynamischen Port auf dem Rechner zugreifbar gemacht. Diesen Vorgang übernimmt Docker.

Sobald der Vorgang abgeschlossen ist, übertragen die Visual Studio Tools for Docker die App in den Container und öffnen den Browser auf dem Rechner. Werden beim Debuggen Änderungen am Quellcode vorgenommen, muss dieser natürlich neu kompiliert und der Container neu gestartet werden.

Container zum Debuggen auf dem Rechner verwalten

Mit dem Docker-Client verwalten Entwickler in der Eingabeaufforderung auf dem PC die Container, die auch Visual Studio for Docker nutzt.
Mit dem Docker-Client verwalten Entwickler in der Eingabeaufforderung auf dem PC die Container, die auch Visual Studio for Docker nutzt.
(Bild: Thomas Joos)

Mit dem Docker-Client lassen sich auch die einzelnen Docker-Images und -Container auf dem Rechner verwalten. Informationen zum Debug-Container lassen sich mit dem Befehl „docker ps“ anzeigen, alle verfügbaren Images zeigt der Docker-Client mit „docker images“ an.

Selbstverständlich kann Docker in Windows auch für andere Zwecke der Entwicklung und Tests genutzt werden, nicht nur für Visual Studio Tools for Docker. Angezeigt werden Container zum Beispiel wieder mit „docker ps -a“. In Docker lassen sich auch Container mit bereits installierten Anwendungen als neues Image speichern, um dieses Image wiederum für neue Container verwenden zu können. Dadurch lassen sich Apps klonen oder verschiedene Versionen testen.

Ob das Image erstellt wurde, kann mit dem Befehl „docker images“ überprüft werden. Um Container zu löschen, wird der Befehl „docker rm <Name des Containers>“ verwendet, der Befehl „docker rmi <Name des Images>“ löscht Docker-Images. Um zum Beispiel einen Container mit IIS zur Verfügung zu stellen, und auf dessen Basis weitere Images zu erstellen, muss auf Basis des vorgefertigten Images ein neuer Container erstellt werden:

docker run -d -p 80:80 microsoft/iis ping -t localhost

Über den Befehl lassen sich mit dem Zusatz -p auch gleich die Ports aktivieren, die Option -d stellt sicher, dass der IIS als Dienst gestartet wird. Dies ist vor allem wichtig für die Entwicklung von Web Apps für Microsoft-Netzwerke.

Alle gestarteten Container lassen sich mit „docker ps“ aufrufen. Werden Änderungen an einem Container vorgenommen, kann dieser Container zum Beispiel als neues Image gespeichert werden. Auf Basis dieses Images lassen sich weitere Container erstellen, um zum Beispiel mehrere Versionen einer App zu testen:

docker commit <Name> <Neuer Name>

Fazit

Visual Studio Tools for Docker stellen eine ideale Ergänzung für Visual Studio 2015 dar, wenn Entwickler Apps für Container zur Verfügung stellen müssen. Die aktuellen Versionen bauen auf Linux-Container in Docker auf. Die Entwickler wollen aber die Tools ständig weiterentwickeln, um auch Windows Server Container und Hyper-V-Container bereitzustellen. Auf der Downloadseite der Visual Studio Tools für Docker sind auch Videos und Anleitungen zum Thema zu finden.

(ID:44577373)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist