Docker

Installation

circle-info

Detta kräver att du har WSL2 installerat. Du kan kontrollera din version med Powershell, kör wsl -l -v

  • Installera Windows Subsystem Linux 2, en guide finns härarrow-up-right.

    • Om du installerar en ny distribution:

      • sudo apt update

      • sudo apt upgrade -y

  • Installera Docker desktoparrow-up-right för Windows.

    • Kör igenom Dockers Get started Tutorial i programmet.

  • Se till att du har Remote extension för Visual Studio Code, den härarrow-up-right.

Nästa steg är att konfigurera Docker så att det använder WSL2, se fig 1 och att det har tillgång till WSL, fig 2.

Fig 1, General settings för Docker
Fig 2, Resource settings. Välj den distribution du använder.

Du kan eventuellt behöva starta om datorn, WSL och eller Docker efter detta. Men du ska kunna starta WSL och köra kommandot docker. Docker körs då från Windows, men finns tillgängligt från WSL.

Ett första test med Node

Innan du kommer igång så krävs det att du installerar lite programvara lokalt.

Nästa steg är att skapa ett Express-projekt som kommer utgöra basen för denna container.

För att underlätta utvecklingen används även nodemon.

Starta sedan Visual Studio Code.

Lägg sedan till följande kod så att nodemon körs.

Docker filer

Docker utgår från ett antal konfigurationsfiler för att skapa en image. Denna image är det som körs och används i en Docker container. Skapa följande filer i projektmappen.

Om du har skapat Express-projektet, Docker-filerna och allt fungerar så är du redo att skapa en image och testa den.

Vänta på att imagen ska skapas, sedan öppnar du Docker-gränssnittet. Navigera till Containers och prova att öppna projektet i en webbläsare. Om allt fungerar så öppnas ditt Express projekt.

Fig 3, Docker image running.

Öppna sedan projektet med Visual Studio Code och prova att redigera projektets index filer. Ladda sedan om sidan i webbläsaren.

circle-info

Koden för hela exemplet finns härarrow-up-right.

Praktiskt

Denna instruktion utgår från att du ska klona och köra igång ett repo, i detta fallet Soloäventyret.

Docker filerna följer med för detta, vill du klona ditt eget soloäventyr så är det följande filer du behöver. Notera mappen för my.cnf.

Filerna kommer att starta 2 containers.

  • nodedev

    • Kör node:12.

    • Kör npm start frÃ¥n package.json

    • PÃ¥ port 3000

  • nodedb

    • Kör mysql:8

    • Skapar användare och databas.

      • database: soloadventure

      • root password: password123

Efter att projektet klonats ned och install är kört så behöver det köras lite kommandon för att få allt att fungera. Kör följande kommando för att bygga en image och starta den som en tjänst.

Om kommandot fungerar som det ska så startas dina containers, se Fig 3.

Fig 3, wsp1-node-solo docker.

Nästa steg blir att slutföra konfigurationen av databasanvändaren och ladda in databasen. För att göra det behöver du koppla upp dig mot databas-containers bash.

Väl inne startar du mysql som root. Lösenordet ska vara password123.

Användaren till kontot skapades tillsammans med databasen tidigare, men permissions behövs fortfarande sättas och uppdateras för node.

När detta är gjort så är det sista steget att importera databasen. Detta kan vi göra med tableplus. Skapa en ny uppkoppling, Fig 4.

Fig 4, Create new connection.

Välj databas och sedan Import, databas-dumpen finns härarrow-up-right. Se Fig 5.

Fig 5

Förhoppningsvis så kan du nu surfa till localhost arrow-up-rightoch testa äventyret. Om du behöver bygga om din image.

Snabbstart

Filer för att skapa en image med node, npm och databas.

  • Skapa ett nytt Express-projekt eller klona ett frÃ¥n Git.

  • Skapa följande konfigurationsfiler i mappen.

  • Se till att Docker är igÃ¥ng.

  • Kör docker-compose up -d build

  • Du bör nu kunna surfa till localhostarrow-up-right

För att konfigurera databasen behöver du koppla upp dig till den, skapa användaren och konfigurera rättigheterna.

Last updated