Azure Docker Registry - Sonat-Consulting/newspaperApp GitHub Wiki

Oppgave 7

Du skal nå opprette en container registry for docker containere. Deretter skal du knytte denne til portainer instansen du satt opp i Oppgave 5. Deretter skal du deploye en docker container via Portainer.

  1. I menyen på portalen, trykker du "New"

new

  1. Så velger du "Container" i menyen, deretter velger du "Azure Container Registry"

Container

  1. Fyll inn settings for din Azure Container Registry, her bør du gjenbruke "Resource Group" fra Oppgave 1

Settings

  1. Du vil nå kunne se din nyoppretede "Azure Container Registry" under Hovedmenyen -> "All Resources" -> velg din resource group. Trykk så på din nyopprettede Registry for å se på settings.

Registry resource

  1. Når du får opp settings trykk på "Access keys", denne ligger øverst på "Settings" Listen

Access keys

  1. Her ser du "Login Server" "Username", "password" og "password2". Ha denne siden åpen, du trenger disse detaljene for de neste stegene.

Password

  1. Åpne en ny fane i nettleseren din, åpne så portainer dashboardet på portainer instansen du laget i Oppgave 5 Portainer Dashboard

  2. Under "Portainer Settings" velger du "Registries"

Portainer Registry

  1. Når du får opp settings, trykker du "Add registry"

Add registry

  1. Her legger du så inn opplysninger fra steg 6.

Registry credentials

Resultatet vil da se noenlunde slik ut:

Registry added

  1. Naviger til "Images" i hoved menyen

Menu images

Newspaper image

  1. Lag en tag på newspaperApp imaget, knytt dette mot registrien du laget tidligere i oppgaven. Husk å oppgi en versjon, denne kan være vilkårlig. Trykk på "Tag" når du er ferdig

Tag

Du vil få en melding når taggingen gikk bra

Tagged

Trykk så på "Upload"-knappen. (Disken med pil opp) på imaget du nettopp tagget.

Upload

Vent til du får beskjed at upload gikk bra. NB! Dette kan ta litt tid, så vær vennlig å vente...

Upload ok

  1. Du skal nå lage en container instans av denne. Husk å stoppe en evt. newspaperApp container, dersom du har en kjørende. I menyen til portainer, trykker du på "Containers" -> "Add container"

Containers

Containers Add

  • Fyll så ut instillinger for newspaperApp containeren. Husk at port 5000 må eksponeres, slik at nginx kan nå containeren internt. Trykk på "map additional ports" og legg inn 5000 og 5000

CreateContainer

  • Legg inn en variablel under "Env", trykk "add environment variable" og sett "ARTICLE_AMOUNT" til en fornuftig verdi. (Her satt til 25). Dette er for å begrense hvor mange articler som blir parset av appliaksjonen. Environment vars
  1. Trykk så på "Start container"

Start

Dersom du trykker på "Containers" får du opp en liste over status på alle containere på vm'en din.

Staring

Etter en liten stund skal containeren kjøre og være "healthy". Husk du må trykke på "Refresh" her

Healty

  1. For å teste at api'et du nå har deployet funger, må du åpne en ny port. I hovedmenyen velger du "Virtual Machines". Her velger du maskinene du laget tidligere.

Virtual Machines

  1. Åpne "Networking" i settings for maskinen din.

Networking

  1. Trykk på "Add inbound port rule"

Inbound

  1. Fyll ut portinstillinger slik. Du trenger å eksponere port 5000, siden det er denne som er satt opp for denne containeren tidligere i denne oppgaven.

Ports

  1. Åpne nettleseren din med public ip og port 5000. Du må også ha en request parameter. Fra eksempelet blir dette da http://13.79.224.165:5000/?url=vg.no

Test

Du er nå ferdig med alle oppgavene i denne delen :D