Basis van cloud en containers

$ docker run -d -p 8080:80 nginx

Met de bovenstaande opdracht wordt een container gestart uit het image nginx, een webserver die op poort 80 luistert. Het IP-adres van de host is 192.0.2.10, en er zijn geen beperkingen zoals een firewall. Welke URL is juist om deze webserver te bereiken vanuit een browser op een andere pc in hetzelfde netwerk?

  1. Ahttp://192.0.2.10:80/
  2. Bhttp://(IP-adres van de container):8080/
  3. Chttp://192.0.2.10:8080/
Antwoord en toelichting tonen

Antwoord: C. http://192.0.2.10:8080/

De optie wordt geschreven als -p hostpoort:containerpoort; -p 8080:80 stuurt verkeer dat op poort 8080 van de host binnenkomt, dus door naar poort 80 in de container. Vanaf een andere pc maakt men verbinding met poort 8080 op het IP-adres van de host. Het IP-adres van de container hoort doorgaans bij een virtueel netwerk binnen de host en is vanaf andere pc's niet rechtstreeks bereikbaar. EXPOSE 80 in een Dockerfile legt alleen vast welke poort de container gebruikt; het publiceert zelf geen poort op de host, dus -p is nodig.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over Basis van cloud en containers

  1. Het bovenstaande Dockerfile (B) is gemaakt uit Dockerfile (A), waarin RUN npm ci na COPY . . stond, door de volgorde zo te veranderen dat eerst alleen de bestanden met de afhankelijkheden worden gekopieerd. npm ci duurt 120 seconden, npm run build 30 seconden en COPY . . 2 seconden; de tijd van de andere instructies is verwaarloosbaar. Het image wordt 20 keer per dag opnieuw gebouwd nadat alleen de broncode onder src is gewijzigd (package.json en package-lock.json blijven ongewijzigd). Hoeveel korter is de totale buildtijd per dag met B dan met A, als de cache van de vorige build kan worden gebruikt?
  2. Welke beschrijving van benoemde volumes en bind mounts in Docker, die worden gebruikt om gegevens te bewaren die een container schrijft, is juist?
  3. Een image wordt gehaald (pull) door registry.example.com/team/web:1.4 op te geven. Welke combinatie geeft de betekenis van elk deel van deze verwijzing juist weer?
  4. scratch is een leeg image dat geen enkel bestand bevat. Welke beschrijving van wat het uiteindelijke image bevat dat met het bovenstaande Dockerfile met een multi-stage build is gebouwd, is juist?
  5. Wat is in Kubernetes de kleinste eenheid die wordt gedeployed en beheerd, en die een of meer containers groepeert die hetzelfde IP-adres en dezelfde volumes delen?