En webbserver i Docker

By . Latest revision .

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”. Om du vill köra med PHP, finns en minimal router i exempelmappen du kan utgå ifrån. Tips finns i tillhörande README.md-fil.

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

  1. Bygg en router som kan svara på “routsen” ovan. Alla svar ska vara JSON.

  2. Skapa en Dockerfile server/Dockerfile och lägg till din server. Mappen med JSON-filen ska läggas till som en volym.

  3. Bygg din image med namnet username/vlinux-server:latest där du använder ditt egna användarnamn.

  4. Publicera imagen till Docker Hub.

  5. Skapa ett exekverbart script script/kmom04.bash som kör din kontainer med rätt namn och tagg. Tänk på att lägga till volymen här. Servern ska vara nåbar via webbläsaren på porten 8080.

# Flytta till kurskatalogen
$ dbwebb validate script
$ dbwebb publish script

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 forumet om du behöver hjälp!

#Revision history

  • 2019-04-11: (A, lew) Första utgåvan inför HT19.

Document source.