Einführung
Dieser Artikel ist eine grundlegende Einführung in die Verwendung von Windows Server 2016 mit Containern und Docker in der Atlantic.Net Cloud. Docker hat Container zuerst unter Linux populär gemacht, aber jetzt mit Windows 2016 werden jetzt auch Windows-Container nativ unterstützt. Das bedeutet, dass Sie Ihre Anwendung in einem Container erstellen und in Ihrer Entwicklungs- und Produktionsumgebung versenden können, in dem Wissen, dass sie auf jedem Gerät genau gleich funktioniert und ausgeführt wird.
In diesem Tutorial stellen wir eine Webseite in einem IIS-Container aus einem von Microsoft verteilten IIS-Container-Image bereit. Beginnen wir mit einem kurzen Tutorial!
Bereitstellung eines Atlantic.Net Cloud-Servers
Zuerst müssen wir ein neues Windows 2016 mit Containers VPS aus der Atlantic.Net Cloud bereitstellen.
- Melden Sie sich bei https://cloud.atlantic.net an.
- Klicken Sie auf „+ Server hinzufügen .“
- Geben Sie auf der Seite „Server hinzufügen“ Folgendes ein:
- Servername:Wie der Name Ihres Servers lauten soll. Beispiel:„Windows 2016 Docker .“
- Standort:Das Rechenzentrum, in dem Sie Ihren Server erstellen möchten.
- Typ:Unter „Betriebssysteme Wählen Sie auf der Registerkarte „Windows“ aus “ und wählen Sie dann „2016 Datacenter (with Containers/Docker) aus .“
- Laufzeit:Möchten Sie monatliche On-Demand-Preise oder eine ein- oder dreijährige Laufzeit für diesen Server?
- Plan:Wir empfehlen mindestens ein G2.2GB Plangröße für Windows-basierte Server aufgrund von Speicheranforderungen.
- Backups aktivieren:Möchten Sie, dass Ihr Server täglich von uns gesichert wird?
- Klicken Sie auf „Server erstellen “, um mit der Bereitstellung des Servers zu beginnen. Auf der nächsten Seite werden Ihre Anmeldedaten für den neuen Server angezeigt. Bitte speichern Sie diese irgendwo ab, damit Sie sich damit anmelden können. Hinweis:Die Zugangsdaten werden Ihnen auch per E-Mail zugeschickt .
Anmelden bei Windows 2016
Sobald der Server bereitgestellt ist, müssen Sie sich bei Windows 2016 anmelden. Klicken Sie hier, um herauszufinden, wie Sie sich aus der Ferne anmelden können.
Prüfen Sie Ihre Docker-Version
Stellen Sie sicher, dass Docker tatsächlich installiert ist, indem Sie den Befehl „docker version“ an der Windows-Eingabeaufforderung (cmd.exe) ausführen.
C:\Users\Administrator>docker version Client: Version: 17.03.1-ee-3 API version: 1.27 Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Server: Version: 17.03.1-ee-3 API version: 1.27 (minimum version 1.24) Go version: go1.7.5 Git commit: 3fcee33 Built: Thu Mar 30 19:31:22 2017 OS/Arch: windows/amd64 Experimental: false
Ausführen Ihres ersten IIS-Containers
Der erste Schritt besteht darin, den von Microsoft verteilten IIS-Container abzurufen. Wir könnten dies mit dem docker pull tun Befehl (dh:docker pull Microsoft/ ii). Der Einfachheit halber können wir diesen Schritt jedoch überspringen und direkt mit dem Start unseres ersten Containers fortfahren. Docker zieht automatisch das erforderliche Image (und alle abhängigen Images) herunter, wenn sie nicht bereits lokal vorhanden sind.
Hinweis:Wir werden einige Eigenschaften des Containers festlegen, wenn wir den Befehl ausführen:
- Name:Der Name des Containers. In diesem Fall würden wir den Namen angeben, indem wir „–name“ eingeben myIIS .“
- Ports:Sie können angeben, welche Ports Sie auf dem Server öffnen möchten. Dazu binden Sie die internen Ports Ihres Containers an einen externen Port, sodass dieser öffentlich zugänglich ist. In diesem Fall binden wir Port 80 (den Webport) des Containers mit „-p 80:80 an Port 80 unseres Cloud-Servers „.
Docker zieht automatisch das erforderliche Image (und alle abhängigen Images) herunter, wenn sie nicht bereits lokal vorhanden sind.
C:\Users\Administrator>docker run -d --name myIIS -p 80:80 microsoft/iis Unable to find image 'microsoft/iis:latest' locally latest: Pulling from microsoft/iis 3889bb8d808b: Pull complete 6d4d50238ed1: Pull complete 0606d7d474d1: Pull complete 672755d284cd: Pull complete 88f5b9741695: Pull complete d53dd94c8474: Pull complete Digest: sha256:bcbcb3b442bc5f0ab3b8b769b52584d98751861b5e438b866d59287cc8112f10 Status: Downloaded newer image for microsoft/iis:latest 2614436cb74c8a21c77e071e13fb5937c12f8946ce8e3c7044e24216cae4100b
Ihr Container läuft jetzt, was Sie mit folgendem Befehl überprüfen können:
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
Als Nächstes melden wir uns beim Container an und starten eine Windows-Eingabeaufforderung (cmd.exe ) im Container, um interaktive Befehle einzugeben:
C:\Users\Administrator>docker exec -i myIIS cmd Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\>
Nachdem Sie nun beim Container angemeldet sind, entfernen wir die standardmäßige Startseite des IIS-Webservers, damit wir unsere eigene Indexseite hinzufügen können:
del C:\inetpub\wwwroot\iisstart.htm
Fügen Sie nun Ihren eigenen Inhalt zur Seite index.html hinzu:
echo "Nice! My first container is displaying this text on my index page!" > C:\inetpub\wwwroot\index.html
Öffnen Sie nun einen Browser und geben Sie die IP-Adresse Ihres Cloud-Servers in das URL-Feld ein. Sie sollten jetzt Ihre Indexseite sehen:
Zurück in der CMD geben Sie exit ein um die interaktive Sitzung des Containers zu verlassen:
C:\>exit exit C:\Users\Administrator>
Erstellen und Bereitstellen eines Docker-Containers mit Ihren Änderungen
Nachdem der Container nun wie gewünscht konfiguriert ist, können Sie den Container für die zukünftige Verwendung in einem neuen Container-Image speichern. Zuerst müssen wir den Namen des Containers aus der „docker ps -a ” Befehl und stoppen Sie den Container:
C:\Users\Administrator>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2614436cb74c microsoft/iis "C:\\ServiceMonitor..." 4 days ago Up 4 days 0.0.0.0:80->80/tcp myIIS
C:\Users\Administrator>docker stop myIIS myIIS
Erstellen Sie den neuen Container mit „docker commit
C:\Users\Administrator>docker commit myIIS configured-iis sha256:4d08b0a5561e11817d199d6d55d46497ce1d4221384d5c29b4c622d44cceed9c
Überprüfen Sie, ob das neue Image erstellt wurde:
C:\Users\Administrator>docker images REPOSITORY TAG IMAGE ID CREATED SIZE configured-iis latest 4d08b0a5561e 44 seconds ago 10.5 GB microsoft/iis latest 9e66ceefdc5a 2 weeks ago 10.4 GB
Der soeben erstellte Container kann jetzt für die zukünftige Verwendung bereitgestellt werden:
docker run -d --name web01 -p 80:80 configured-iis
Stoppen Sie nun den neuen Container und löschen Sie ihn:
C:\Users\Administrator>docker stop web01 web01
C:\Users\Administrator>docker rm web01 web01
Abschließen
Das obige war nur ein grundlegendes Tutorial. Sie können auch interessante Dinge tun, wie das Automatisieren des Erstellens von Container-Images mit DockerFiles, das Pushen der Images in ein zentrales Repository und das Erstellen von Redundanz und automatischem Failover, indem Sie mehrere Knoten in einem Docker Swarm einrichten. Viel Spaß!