En webbserver i Docker
Du skall skapa en Docker image och publicera den till Docker Hub. Imagen ska vara en webbserver som ska kunna svara på en uppsättning routes och returnera JSON.
#Förkunskaper
Du har läst igenom guiden Hantera applikationer och valt ett språk du vill använda. Kika gärna på alla, då det kan göras på olika sätt.
Du har läst kurslitteraturen och skaffat dig grundläggande kunskaper om bash.
#Introduktion
I exempelmappen finns en JSON-fil som ska servas med hjälp av en router, byggd i språket du valt. Du väljer själv hur du vill sköta “routingen”.
Routes som ska stödas är:
Route | Vad skall returneras |
---|---|
/ |
En presentation av de olika routesen. |
/all |
Hela JSON-filen. |
/names |
Namnen på alla växterna. |
/color/<color> |
Alla växter som kan ha <color> som färg. . |
JSON-filen kopierar du från exempelmappen:
# Ställ dig i kursroten
$ cp -r example/json/items.json me/kmom04/server/data/
#Krav
Du ska i den här uppgiften mestadels jobba i mappen kmom04/server/
.
Bygg en server som kan svara på “routsen” ovan. Alla svar ska vara JSON.
Man ska kunna använda både stor och liten bokstav när det filtreras på färg. Till exempel så ska både
yellow
ochYellow
fungera.Skapa en Dockerfile
Dockerfile
och lägg till din server i arbetsmappen/server
. Mappendata
med JSON-filen ska inte kopieras in, utan ska läggas till som en volym.Publicera din image med namnet username/vlinux-server:1.0 där du använder ditt egna användarnamn. Se till så imagen är publik.
Publicera imagen till Docker Hub.
Publicera uppgiften enligt följande.
# Ställ dig i kurskatalogen
$ dbwebb publish server
Rätta eventuella fel som dyker upp och publicera igen. När det ser grönt ut så är du klar.
#Extrauppgift
Det finns inga extrauppgifter.
#Tips från coachen
Lycka till och hojta till i chatten om du behöver hjälp!
#Revision history
- 2023-09-12: (C, lew) Uppdaterad inför HT23.
- 2022-06-22: (B, lew) Uppdaterad inför HT22.
- 2019-04-11: (A, lew) Första utgåvan inför HT19.