Úvod
Tento článek je základním úvodem o tom, jak používat Windows Server 2016 s kontejnery a Dockerem v cloudu Atlantic.Net. Docker popularizoval kontejnery nejprve na Linuxu, ale nyní s Windows 2016 jsou nyní nativně podporovány i kontejnery Windows. To znamená, že můžete svou aplikaci sestavit v kontejneru a odeslat ji napříč vývojovým a produkčním prostředím s vědomím, že bude fungovat a fungovat přesně stejným způsobem na každém zařízení.
V tomto kurzu nasadíme webovou stránku do kontejneru IIS z bitové kopie kontejneru IIS distribuované společností Microsoft. Začněme s rychlým tutoriálem!
Nasazení cloudového serveru Atlantic.Net
Nejprve musíme nasadit nový Windows 2016 s Containers VPS od Atlantic.Net Cloud.
- Přihlaste se na https://cloud.atlantic.net.
- Klikněte na „+ Přidat server .“
- Na stránce „Přidat server“ zadejte následující:
- Název serveru:Jak chcete, aby se váš server jmenoval. Například „Windows 2016 Docker .“
- Umístění:Datové centrum, ve kterém chcete vytvořit server.
- Typ:V části „Operační systémy “, vyberte „Windows “ a poté vyberte „Datové centrum 2016 (s kontejnery/Docker) .“
- Doba období:Chcete pro tento server stanovit měsíční ceny na vyžádání, nebo chcete roční závazek na jeden nebo tři roky?
- Plán:Doporučujeme alespoň G2,2 GB velikost plánu pro servery se systémem Windows kvůli požadavkům na paměť.
- Povolit zálohování:Chcete, abychom váš server denně zálohovali?
- Klikněte na „Vytvořit server ” pro zahájení poskytování serveru. Na další stránce se zobrazí vaše přihlašovací údaje pro nový server. Uložte si je prosím někam, abyste je mohli použít k přihlášení. Poznámka:Přihlašovací údaje vám budou zaslány také e-mailem .
Přihlášení do systému Windows 2016
Po zřízení serveru se budete muset přihlásit do systému Windows 2016. Kliknutím sem zjistíte, jak se vzdáleně přihlásit.
Kontrola verze Dockeru
Ujistěte se, že je Docker skutečně nainstalován spuštěním příkazu „docker version“ z příkazového řádku systému Windows (cmd.exe).
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
Spuštění prvního kontejneru IIS
Prvním krokem je načtení kontejneru distribuované služby IIS společnosti Microsoft. Mohli bychom to udělat pomocí docker pull příkaz (tj.:docker pull microsoft/ iis). V zájmu jednoduchosti však můžeme tento krok přeskočit a přejít rovnou ke spuštění našeho prvního kontejneru. Docker automaticky stáhne potřebný obrázek (a všechny závislé obrázky), pokud již lokálně neexistují.
Poznámka:Když spustíme příkaz:
, nastavíme některé vlastnosti kontejneru- Název:Název kontejneru. V tomto případě bychom jméno specifikovali zadáním „–name myIIS .“
- Porty:Můžete určit, které porty chcete otevřít na serveru. Provedete to tak, že navážete vnitřní porty vašeho kontejneru na externí port, aby byl veřejně přístupný. V tomto případě vážeme port 80 (webový port) kontejneru k portu 80 našeho cloudového serveru pomocí „-p 80:80 “.
Docker automaticky stáhne potřebný obrázek (a všechny závislé obrázky), pokud již lokálně neexistují.
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
Váš kontejner je nyní spuštěn, což můžete zkontrolovat pomocí následujícího příkazu:
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
Dále se přihlásíme do kontejneru a spustíme příkazový řádek Windows (cmd.exe ) v kontejneru pro zadání interaktivních příkazů:
C:\Users\Administrator>docker exec -i myIIS cmd Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\>
Nyní, když jste přihlášeni do kontejneru, odstraníme výchozí úvodní stránku webového serveru IIS, abychom mohli přidat vlastní stránku indexu:
del C:\inetpub\wwwroot\iisstart.htm
Nyní přidejte svůj vlastní obsah na stránku index.html:
echo "Nice! My first container is displaying this text on my index page!" > C:\inetpub\wwwroot\index.html
Nyní otevřete prohlížeč a do pole URL zadejte IP adresu vašeho cloudového serveru. Nyní byste měli vidět svou stránku indexu:
Zpět v CMD zadejte exit pro ukončení interaktivní relace kontejneru:
C:\>exit exit C:\Users\Administrator>
Vytvoření a nasazení kontejneru Docker s vašimi změnami
Nyní, když je kontejner nakonfigurován tak, jak chcete, můžete kontejner uložit do nového obrazu kontejneru pro budoucí použití. Nejprve musíme získat název kontejneru z „docker ps -a ” a zastavte kontejner:
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
Vytvořte nový kontejner pomocí „docker commit
C:\Users\Administrator>docker commit myIIS configured-iis sha256:4d08b0a5561e11817d199d6d55d46497ce1d4221384d5c29b4c622d44cceed9c
Ověřte, že byl vytvořen nový obrázek:
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
Kontejner, který jsme právě vytvořili, lze nyní nasadit pro budoucí použití:
docker run -d --name web01 -p 80:80 configured-iis
Nyní zastavte nový kontejner a odstraňte jej:
C:\Users\Administrator>docker stop web01 web01
C:\Users\Administrator>docker rm web01 web01
Dokončení
Výše uvedené byl jen základní návod. Můžete také dělat zajímavé věci, jako je automatizace sestavování obrazů kontejnerů pomocí DockerFiles, odesílání obrazů do centralizovaného úložiště a vytváření redundance a automatického převzetí služeb při selhání nastavením více uzlů v Docker Swarm. Užijte si to!