Introduzione
Questo articolo è un'introduzione di base su come utilizzare Windows Server 2016 con contenitori e Docker su Atlantic.Net Cloud. Docker ha reso popolari i contenitori prima su Linux, ma ora con Windows 2016, anche i contenitori Windows sono ora supportati in modo nativo. Ciò significa che puoi creare la tua applicazione in un container e spedirla nei tuoi ambienti di sviluppo e produzione sapendo che funzionerà e funzionerà esattamente allo stesso modo su ogni dispositivo.
In questa esercitazione verrà distribuita una pagina Web in un contenitore IIS da un'immagine del contenitore IIS distribuita da Microsoft. Iniziamo con un breve tutorial!
Distribuzione di un server cloud Atlantic.Net
Innanzitutto, dobbiamo distribuire un nuovo Windows 2016 con Containers VPS da Atlantic.Net Cloud.
- Accedi a https://cloud.atlantic.net.
- Fai clic su "+ Aggiungi server ."
- Nella pagina "Aggiungi un server", inserisci quanto segue:
- Nome server:come vorresti fosse il nome del tuo server. Ad esempio, "Finestra mobile di Windows 2016 ."
- Posizione:il data center in cui desideri creare il tuo server.
- Digitare:in "Sistemi operativi ”, seleziona “Finestre ”, quindi seleziona “Datacenter 2016 (con contenitori/Docker) ."
- Durata:vuoi un prezzo mensile su richiesta o vuoi un impegno a termine di uno o tre anni per questo server?
- Piano:consigliamo almeno un G2.2GB dimensione del piano per i server basati su Windows, a causa dei requisiti di memoria.
- Abilita backup:vuoi che il tuo server venga eseguito quotidianamente da noi?
- Fai clic su "Crea server ” per iniziare il provisioning del server. Nella pagina successiva verranno visualizzate le credenziali di accesso per il nuovo server. Salvali da qualche parte in modo da poterli utilizzare per accedere. Nota:le credenziali ti verranno inviate anche via email .
Accesso a Windows 2016
Una volta terminato il provisioning del server, dovrai accedere a Windows 2016. Fai clic qui per scoprire come accedere in remoto.
Verifica della versione Docker
Assicurati che Docker sia effettivamente installato eseguendo il comando "docker version" dal prompt dei comandi di 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
Eseguire il tuo primo container IIS
Il primo passaggio consiste nel recuperare il contenitore IIS distribuito Microsoft. Potremmo farlo con il docker pull comando (ad esempio:docker pull Microsoft/ iis). Tuttavia, nell'interesse della semplicità, possiamo saltare questo passaggio e andare direttamente al lancio del nostro primo container. Docker tirerà giù automaticamente l'immagine necessaria (e tutte le immagini dipendenti) se non esistono già localmente.
Nota:quando eseguiamo il comando, imposteremo alcune proprietà del contenitore:
- Nome:il nome del contenitore. In questo caso, specifichiamo il nome inserendo “–name il mio IIS ."
- Porte:puoi specificare quali porte vuoi aprire sul server. Puoi farlo collegando le porte interne del tuo container a una porta esterna in modo che sia accessibile pubblicamente. In questo caso, leghiamo la porta 80 (la porta web) del container alla porta 80 del nostro Cloud Server con “-p 80:80 “.
Docker tirerà giù automaticamente l'immagine necessaria (e tutte le immagini dipendenti) se non esistono già localmente.
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
Il tuo container è ora in esecuzione, che puoi controllare con il seguente comando:
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
Successivamente, accederemo al contenitore e avvieremo un prompt dei comandi di Windows (cmd.exe ) nel contenitore per inserire comandi interattivi:
C:\Users\Administrator>docker exec -i myIIS cmd Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\>
Ora che hai effettuato l'accesso al contenitore, rimuoveremo la pagina iniziale del server Web IIS predefinito in modo da poter aggiungere la nostra pagina indice:
del C:\inetpub\wwwroot\iisstart.htm
Ora aggiungi i tuoi contenuti alla pagina index.html:
echo "Nice! My first container is displaying this text on my index page!" > C:\inetpub\wwwroot\index.html
Ora apri un browser e digita l'indirizzo IP del tuo Cloud Server nel campo URL. Ora dovresti vedere la tua pagina indice:
Di nuovo nel CMD prompt, digita exit per uscire dalla sessione interattiva del contenitore:
C:\>exit exit C:\Users\Administrator>
Creazione e distribuzione di un container Docker con le tue modifiche
Ora che il contenitore è configurato nel modo desiderato, puoi salvarlo in una nuova immagine del contenitore per un uso futuro. Per prima cosa, dobbiamo prendere il nome del contenitore da “docker ps -a ” comando e fermare il contenitore:
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
Crea il nuovo contenitore con “docker commit
C:\Users\Administrator>docker commit myIIS configured-iis sha256:4d08b0a5561e11817d199d6d55d46497ce1d4221384d5c29b4c622d44cceed9c
Verifica che la nuova immagine sia stata creata:
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
Il container che abbiamo appena creato ora può essere distribuito per un uso futuro:
docker run -d --name web01 -p 80:80 configured-iis
Ora ferma il nuovo contenitore ed eliminalo:
C:\Users\Administrator>docker stop web01 web01
C:\Users\Administrator>docker rm web01 web01
Finitura
Quanto sopra era solo un tutorial di base. Puoi anche fare cose interessanti come automatizzare la creazione di immagini container utilizzando DockerFiles, inviare le immagini a un repository centralizzato e creare ridondanza e failover automatico impostando più nodi in uno Swarm Docker. Divertiti!