Docker
Last updated
Was this helpful?
Last updated
Was this helpful?
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är.
Om du installerar en ny distribution:
sudo apt update
sudo apt upgrade -y
Installera Docker desktop 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är.
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.
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.
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 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.
Öppna sedan projektet med Visual Studio Code och prova att redigera projektets index filer. Ladda sedan om sidan i webbläsaren.
Koden för hela exemplet finns här.
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.
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.
Välj databas och sedan Import, databas-dumpen finns här. Se Fig 5.
Förhoppningsvis så kan du nu surfa till localhost och testa äventyret. Om du behöver bygga om din image.
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 localhost
För att konfigurera databasen behöver du koppla upp dig till den, skapa användaren och konfigurera rättigheterna.