Bases du cloud et des conteneurs

$ docker run -d -p 8080:80 nginx

Un conteneur est démarré par la commande ci-dessus à partir de l'image nginx, un serveur web qui écoute sur le port 80. L'adresse IP de l'hôte est 192.0.2.10, et il n'y a aucune restriction comme un pare-feu. Quelle est l'URL correcte pour joindre ce serveur web depuis un navigateur sur un autre PC du même réseau ?

  1. Ahttp://192.0.2.10:80/
  2. Bhttp://(adresse IP du conteneur):8080/
  3. Chttp://192.0.2.10:8080/
Afficher la réponse et l'explication

Réponse : C. http://192.0.2.10:8080/

L'option s'écrit -p port de l'hôte:port du conteneur ; -p 8080:80 transfère donc le trafic qui arrive sur le port 8080 de l'hôte vers le port 80 du conteneur. Depuis un autre PC, on se connecte au port 8080 de l'adresse IP de l'hôte. L'adresse IP du conteneur appartient généralement à un réseau virtuel interne à l'hôte et n'est pas directement joignable depuis d'autres PC. EXPOSE 80 dans un Dockerfile ne fait qu'indiquer le port qu'utilise le conteneur ; cela ne publie à lui seul aucun port de l'hôte, d'où la nécessité de -p.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases du cloud et des conteneurs

  1. Le Dockerfile (B) ci-dessus a été obtenu à partir du Dockerfile (A), qui plaçait RUN npm ci après COPY . ., en changeant l'ordre pour ne copier d'abord que les fichiers de dépendances. npm ci prend 120 secondes, npm run build 30 secondes et COPY . . 2 secondes, et la durée des autres instructions est négligeable. L'image est reconstruite 20 fois par jour après une modification du seul code source sous src (package.json et package-lock.json ne changent pas). Si le cache de la construction précédente peut être utilisé, de combien la durée totale de construction par jour est-elle plus courte avec B qu'avec A ?
  2. Dans Docker, quelle description des volumes nommés et des montages bind (bind mounts), qui servent à conserver les données écrites par un conteneur, est correcte ?
  3. Une image est récupérée (pull) en indiquant registry.example.com/team/web:1.4. Quelle association donnant le sens de chaque partie de cette référence est correcte ?
  4. scratch est une image vide qui ne contient aucun fichier. Quelle description du contenu de l'image finale construite avec le Dockerfile multi-étapes ci-dessus est correcte ?
  5. Dans Kubernetes, quelle est la plus petite unité déployée et gérée, qui regroupe un ou plusieurs conteneurs partageant la même adresse IP et les mêmes volumes ?