Step-by-step: Install NGINX on Docker on Ubuntu on Azure

OBS! Den här bloggposten är INTE en komplett guide till containers eller till Docker, men för den som känner på sig att det här med containers är framtiden och som redan har lite koll på läget och bara vill testa att köra igång något så tänkte jag nu visa ett litet exempel.

Om du har noll koll på Docker och på containers så kan du antingen läsa på lite innan eller så tänker du för enkelhetens skull att en container är ungefär som en virtuell maskin fast utan operativsystem.

Läs mer till exempel här: http://en.wikipedia.org/wiki/Operating-system-level_virtualization

I korthet, det vi kommer att göra är att:

  1. Installera Ubuntu
  2. Installera Docker på Ubuntu
  3. Installera NGINX som en Docker-container
  4. Konfigurera "end Points" i Azure som möjliggör att vi utifrån kan kommunicera med vår NGINX-container
  5. Surfa in på våra nya NGINX-installation från valfri webbläsare

Installera Ubuntu

Det här gör vi enkelt i Azure-portalen, den gamla eller den nya.

Installera Docker på Ubuntu

Logga in på din Ubuntu-maskin med till exempel PuTTY.

Installera Docker med följande kommando: wget –qO- https://get.docker.com/ | sh

Installera NGINX som en Docker-container

Installera sedan NGINX i en container med följande kommando (du kan välja namn helt själv förstås!): docker run --name ITPrOlaDockerDemo -P -d nginx

Konfigurera end points i Azure som möjliggör att vi utifrån kan kommunicera med vår NGINX container

Din NGINX-container sätter  automatiskt upp en kanal in till webbservern genom att mappa upp två slumpvist valda portar på Docker-värdmaskinen (alltså vår Ubuntu-server i Azure) mot port 80 och 443 i vår container. Du kan se exakt vilka portar det blev genom att köra kommandot: docker ps –a

På bilden ovan ser du att portarna 32769 och 32768 på min Ubuntu-server har mappats upp mot port 80 respektive 443 på min NGINX-container.

För att vi nu ska komma åt det här utifrån sätter jag upp två "end points" i Azure-portalen som pekar mina publika portar 80 och 443 mot interna portarna 32769 respektive 32768. Alltså samma sak som NGINX gjorde tidigare fast tvärtom!

Surfa in på våra nya NGINX-installation från valfri webbläsare

Och hokus pokus så kan jag surfa in på min Ubuntu-maskin från valfri webbläsare och då skickas vidare in i min NGINX-container som kan svara med sin standardwebbsida.