Vous êtes sur la page 1sur 33

QCM DOCKER

1. Qu’est-ce que Docker ?

Docker est une plateforme de conteneurisation open-source très populaire et puissante


qui est utilisée pour créer, déployer et exécuter des applications. Docker vous permet de
découpler l’application/le logiciel de l’infrastructure existante.
Docker peut être vu comme un grand bateau (docker) transportant d’énormes boîtes de
produits (conteneurs).

2. Qu’est-ce qu’un Conteneur Docker ?

Un conteneur est une unité standard de logiciel regroupant des dépendances afin que les
applications puissent être déployées rapidement et de manière fiable entre différentes
plateformes informatiques.
Un conteneur est une instance exécutable d’une image. Vous pouvez créer, démarrer,
arrêter, déplacer ou supprimer un conteneur à l’aide de l’API ou l’unité de commande
de Docker.

 3. Qu’est-ce qu’une image Docker ?


C’est un package exécutable (regroupé avec le code de l’application et les dépendances,
les packages logiciels, etc.) dans le but de créer des conteneurs. Les images Docker
peuvent être déployées dans n’importe quel environnement Docker et les conteneurs
peuvent y être lancés pour exécuter l’application.
 4. Qu’est-ce qu’un DockerFile ?
Il s’agit d’un fichier texte contenant toutes les commandes qui doivent être exécutées
pour construire une image donnée.
 
5. Qu’est-ce qu’un Dockerfile ?

A Une image Docker qui est construite en exécutant une commande Docker.

B Un fichier texte qui contient toutes les commandes nécessaires pour construire une image
donnée.

C Une instance en cours d’exécution d’une image Docker

D Un site web où vous pouvez télécharger des images Docker.

B
Dockerfile est un fichier texte qui contient toutes les commandes nécessaires pour
construire une image donnée.
 
6. Lequel des énoncés suivants décrit correctement un conteneur Docker ?

A Un fichier texte décrivant les dépendances d’une application.

B Une images Docker.

C Une instance d’une application créée à partir d’une image Docker.

D Un package composé d’une application et de toutes ses dépendances.

C
Un conteneur Docker est une instance d’une application créée à partir d’une image
Docker.
 7. Quelle syntaxe peut-on utiliser pour convertir un fichier Docker (Dockerfile) en
image ?

A docker create -t <image_name>:<tag_name>

B docker build -t <image_name>:<tag_name>

C docker run -t <image_name>:<tag_name>

D docker convert -t <image_name>:<tag_name>

B
La commande docker build -t <image_name>:<tag_name> est utilisée pour convertir
un fichier Docker (Dockerfile) en image.
 8. Un conteneur Docker est une instance d’une image avec une configuration
spécifique.

A Vrai

B Faux

A
Un conteneur Docker est une instance d’une image avec une configuration spécifique.
Différence entre une image Docker et un conteneurSous Docker, il existe des concepts tels
que des images, des conteneurs, etc. Ils sont étroitement liés, mais en même temps différent.
Au début de…Lire plus
 9. Quelle commande pour lister des conteneurs inactifs et actifs:
A docker ps -a

B docker ps

C docker ps -l
D docker ps -d

A
La commande docker ps -a est utilisée pour lister des conteneurs inactifs et actifs.
 10. Laquelle des propositions suivantes explique la relation entre une image Docker et
un conteneur Docker ?

A Un conteneur Docker est utilisé pour démarrer une image Docker.

B Un conteneur Docker est une instance en cours d’exécution d’une image.

C Un conteneur Docker est une collection de couches d’images.

D Un conteneur Docker est constitué de deux ou plusieurs images qui partagent un


environnement d’exécution commun.

B
Un conteneur Docker est une instance en cours d’exécution d’une image.

1. La commande utilisée pour trouver une image dans le registre docker est ______

A docker ls -a

B docker search

C docker pull

D Aucune de ces réponses

B
La commande docker search est utilisée pour trouver une image dans le registre
docker.

 2. Quelle commande permet de mapper le port 80 du conteneur au port 2023 de l’hôte
Docker ?

A docker run -p 2023:80

B docker run -p 80:2023

C docker run expose 80:2023

D docker run expose 2023:80

A
La commande docker run -p 2023:80 permet de mapper le port 80 du conteneur au
port 2023 de l’hôte Docker.
 3. La commande docker history affiche un résultat similaire à lequel des éléments
suivants ?

A docker layers

B docker-compose.yaml

C Dockerfile

D docker images

C
La commande docker history affiche un résultat similaire à Dockerfile.

4. Quelles commandes Docker peuvent être utilisées dans une séquence pour créer une
image Docker ?

A docker container run, et docker container commit

B docker container run, et docker image commit

C docker container ls, et docker image commit

D docker container diff, et docker container commit

A
Pour créer une image Docker utiliser docker container run, et docker container
commit.

 5. Comment trouver l’emplacement des métadonnées du conteneur à l’aide des


commandes Docker ?

A docker build

B docker inspect

C docker version

D docker info

B
La commande docker inspect permet de trouver l’emplacement des métadonnées du
conteneur.

 6. A quoi sert la commande docker exec ?

A Permet d’exécuter des processus en dehors d’un conteneur.

B Vous permet d’exécuter des processus dans un conteneur.


C C’est similaire à l’installation d’un logiciel.

D Vous permet d’exécuter des processus dans de nouveaux conteneurs.

B
La commande docker exec vous permet d’exécuter des processus dans un conteneur.

 7. Quel option peut être utilisé pour définir un Dockerfile personnalisé (tel que
mydockerfile.node) lors de la création d’une image personnalisée ?

A -customfile

B -v

C -f

D -t

C
L’option -f peut être utilisé pour définir un Dockerfile personnalisé (tel que
mydockerfile.node) lors de la création d’une image personnalisée.

 8. Commande pour créer un cluster dans Docker ?


A apache mesos

B docker swarm

C K8s

D Toutes les réponses sont vraies

D
Toutes les réponses ci-dessus vous permet de créer un cluster dans Docker.

 9. Quelle commande est utilisée pour arrêter un conteneur en cours d’exécution ?
A docker stop <container_id>

B docker rm <container_id>

C docker kill <container_id>

D docker terminate <container_id>

C
La commande docker kill <container_id> est utilisée pour arrêter un conteneur en
cours d’exécution.

 10. Quelle commande est utilisée pour exécuter des images en tant que conteneur ?
A docker ps -a

B sudo docker run -i -t alpine /bin/bash

C sudo docker run <container_name>

D Toutes les réponses sont vraies

B
La commande sudo docker run -i -t alpine /bin/bash est utilisée pour exécuter
des images en tant que conteneur.

----------------------------------------------------------------------------------------

  1. Quelle instruction doit apparaître en premier dans le fichier Dockerfile ?


A IMAGE

B ENV

C FROM

D RUN

C
La plupart du temps, vous ne partirez pas de zéro. Vous allez créer une image Docker
basée sur une autre image Docker. La ligne FROM indique à Docker quelle image de
base vous souhaitez utiliser pour construire votre nouvelle image. Il doit s’agir de la
première ligne du Dockerfile. Vous pouvez avoir des commentaires au-dessus, mais pas
d’autres commandes. Syntaxe:
FROM <image>

 2. Le registre Docker est un endroit où l’on peut stocker et distribuer des ________ Docker.
A fichiers

B images

C codes

D Toutes les réponses sont vraies

B
Le registre Docker est un endroit où l’on peut stocker et distribuer des images Docker.

 3. Quel est le but d’une image ?


A Fournir un processus traditionnel pour une application.

B Fournir la configuration réseau pour la pile réseau d’une application.

C Fournir le système de fichiers pour une application.

D Fournir un processus isolé pour une application.

C
Une image fournit le système de fichiers pour une application.

 4. Laquelle des affirmations suivantes est vraie à propos de l’architecture de Docker?
A L’architecture est de type client-serveur.

B Les conteneurs Docker sont exécutés en tant que root.

C Le démon doit être exécuté en tant que root.

D Toutes les réponses sont vraies.

D
Toutes les réponses sont vraies.

 5. Sur quels concepts de base Docker repose-t-il ?


A Images et conteneurs

B Images et machines virtuelles

C Images et archives

D Vmware et VirtualBox

A
Docker repose sur le concept d’images et des conteneurs.

 6. Cette commande upload votre image locale dans votre registre Docker?
A docker push

B docker build
C docker tag

D docker run

A
docker push Cette commande upload votre image locale dans votre registre Docker.

 7. Cette commande Dockerfile spécifie l’image de base à utiliser lors de la création d’une image
Docker.

A BASE

B CMD

C ADD

D FROM

D
La commande « FROM » spécifie l’image de base à utiliser lors de la création d’une
image Docker.

 8. Lequel des éléments suivants n’est pas une directive Dockerfile recommandée ?
A MAINTAINER

B COPY

C LABEL

D FROM

A
Selon la documentation officielle de Docker, l’instruction MAINTAINER est dépréciée.
Il est préférable d’utiliser l’instruction LABEL pour définir l’auteur des images
générées. L’instruction LABEL est plus flexible, permet de définir des métadonnées et
peut être facilement visualisée avec la commande docker inspect .

 9. Laquelle des interfaces réseau suivantes est créée lorsque vous installez le runtime Docker
sur l’hôte Docker ?

A Docker1

B Docker0

C eth0

D eth1
B
Docker0 est créée lorsque vous installez le runtime Docker sur l’hôte Docker.

 10. Lequel des éléments suivants n’est pas un composant de l’architecture Docker?
A Docker Registry

B Docker Runtime

C Docker Engine

D Docker Machine

D
Docker Machine n’est pas un composant de l’architecture Docker.

-----------------------------------------------------------------------

1. Comment mettre à jour un service ?

A docker update service --image <imgName> <srvName>

B docker service update --image <imgName> <srvName>

C docker service update <srvName>

D docker update service --image <imgName>

B
Cette commande docker service update --image <imgName> <srvName> est utilisée
pour mettre à jour un service.

 2. Cette commande prend un snapshot de votre conteneur Docker actuel et le place dans une
nouvelle image.

A docker pull

B docker push

C docker commit

D docker tag

C
docker commit Cette commande prend un snapshot de votre conteneur Docker actuel et
le place dans une nouvelle image.

 
 3. Quelle commande Docker utilisez-vous pour créer et exécuter un conteneur ?
A docker exec

B docker run

C docker pull

D docker start

B
La commande docker run est utilisée pour créer et exécuter un conteneur.

 4. Quelle commande Docker permet d’afficher les conteneurs en cours d’exécution ?
A docker ps

B docker images

C docker show

D docker list

A
La commande docker ps permet d’afficher les conteneurs en cours d’exécution.

 5. En utilisant la commande suivant pour supprimer tous les conteneurs qui se sont arrêtés:
A docker prune

B docker rm -f

C docker rmi

D Aucune de ces réponses

A
La commande docker prune permet de supprimer tous les conteneurs qui se sont
arrêtés.

 6. Quelle commande vous permet d’accéder en direct à l’entrée, sortie et l’erreur standard de
votre terminal des processus exécutés dans un conteneur ?

A docker attach

B docker run
C docker inspect

D docker exec

A
La commande docker attach permet d’accéder en direct à l’entrée, sortie et l’erreur
standard de votre terminal des processus exécutés dans un conteneur.

 7. Quel format Docker utilise-t-il pour exporter les images ?


A zip

B tar

C iso

D rar

B
Docker utilise le format ‘tar’ pour exporter les images.

 8. Laquelle des propositions suivantes décrit le mieux une image Docker ?
A Une template en lecture seule pour démarrer un ou plusieurs conteneurs.

B Un volume de données qui peut être monté à l’intérieur d’un conteneur.

C Un instantané ponctuel d’un conteneur utilisé pour les sauvegardes.

D Un modèle en lecture-écriture pour démarrer un ou plusieurs conteneurs.

B
Une image Docker est une template en lecture seule pour démarrer un ou plusieurs
conteneurs.

 9. Laquelle des commandes Docker suivantes permet de créer une image de conteneur à l’aide
des instructions contenues dans un Dockerfile ?

A docker commit build

B docker image build

C docker image create

D docker commit create

B
La commande docker image build permet de créer une image de conteneur à l’aide des
instructions contenues dans un Dockerfile.

 10. Cette commande prend un snapshot de votre conteneur Docker actuel et le place dans une
nouvelle image

A docker pull

B docker push

C docker commit

D docker tag

C
La commande docker commit permet de prend un snapshot de votre conteneur Docker
actuel et le place dans une nouvelle image.

------------------------------------------------------------------------------------

 1. La commande utilisée pour trouver une image dans le registre docker est ______

A docker ls -a

B docker search

C docker pull

D Aucune de ces réponses

B
La commande docker search est utilisée pour trouver une image dans le registre
docker.

 2. Quelle commande permet de mapper le port 80 du conteneur au port 2023 de l’hôte Docker ?
A docker run -p 2023:80

B docker run -p 80:2023

C docker run expose 80:2023

D docker run expose 2023:80

A
La commande docker run -p 2023:80 permet de mapper le port 80 du conteneur au
port 2023 de l’hôte Docker.
 

3. La commande docker history affiche un résultat similaire à lequel des éléments suivants ?

A docker layers

B docker-compose.yaml

C Dockerfile

D docker images

C
La commande docker history affiche un résultat similaire à Dockerfile.

 4. Quelles commandes Docker peuvent être utilisées dans une séquence pour créer une image
Docker ?

A docker container run, et docker container commit

B docker container run, et docker image commit

C docker container ls, et docker image commit

D docker container diff, et docker container commit

A
Pour créer une image Docker utiliser docker container run, et docker container
commit.

 5. Comment trouver l’emplacement des métadonnées du conteneur à l’aide des commandes
Docker ?

A docker build

B docker inspect

C docker version

D docker info

B
La commande docker inspect permet de trouver l’emplacement des métadonnées du
conteneur.

 6. A quoi sert la commande docker exec ?


A Permet d’exécuter des processus en dehors d’un conteneur.

B Vous permet d’exécuter des processus dans un conteneur.

C C’est similaire à l’installation d’un logiciel.

D Vous permet d’exécuter des processus dans de nouveaux conteneurs.

B
La commande docker exec vous permet d’exécuter des processus dans un conteneur.

 7. Quel option peut être utilisé pour définir un Dockerfile personnalisé (tel que
mydockerfile.node) lors de la création d’une image personnalisée ?

A -customfile

B -v

C -f

D -t

C
L’option -f peut être utilisé pour définir un Dockerfile personnalisé (tel que
mydockerfile.node) lors de la création d’une image personnalisée.

 8. Commande pour créer un cluster dans Docker ?


A apache mesos

B docker swarm

C K8s

D Toutes les réponses sont vraies

D
Toutes les réponses ci-dessus vous permet de créer un cluster dans Docker.
 

9. Quelle commande est utilisée pour arrêter un conteneur en cours d’exécution ?

A docker stop <container_id>

B docker rm <container_id>

C docker kill <container_id>

D docker terminate <container_id>


C
La commande docker kill <container_id> est utilisée pour arrêter un conteneur en
cours d’exécution.

 10. Quelle commande est utilisée pour exécuter des images en tant que conteneur ?
A docker ps -a

B sudo docker run -i -t alpine /bin/bash

C sudo docker run <container_name>

D Toutes les réponses sont vraies

B
La commande sudo docker run -i -t alpine /bin/bash est utilisée pour exécuter
des images en tant que conteneur.

-------------------------------------------------------------------------------------

 1. Quel service de Docker hébergé dans le nuage offre des capacités de registre pour le contenu public et
privé ?

A Docker Images

B Docker Compose

C Docker Alpine

D Docker Hub

D
Docker Hub est un service fourni par Docker pour trouver et partager des images de
conteneurs.

 2. Qu’est-ce qui est utilisé pour convertir un groupe d’hôtes Docker en un seul hôte Docker virtuel ?
A Docker Images

B Docker Compose

C Docker Swarm

D Docker Hub

C
Docker Swarm est utilisé pour convertir un groupe d’hôtes Docker en un seul hôte
Docker virtuel.
 3. Quel est la template utilisé pour décrire le build d’une image ?
A Docker Logs

B Docker Documents

C DockerFile

D Docker Stream

C
DockerFile est la template utilisé pour décrire le build d’une image.

 4. Plusieurs conteneurs fonctionnant sur une seule machine partagent tous les mêmes
ressources(CPU, RAM, etc…)

A Vrai

B Faux

A
Plusieurs conteneurs peuvent fonctionner sur la même machine et partager le noyau du
système d’exploitation avec d’autres conteneurs, chacun s’exécutant comme un
processus isolé dans l’espace utilisateur. Les conteneurs occupent moins d’espace que les
VM (les images de conteneurs font généralement quelques dizaines de Mo), peuvent
gérer davantage d’applications et nécessitent moins de VM et de systèmes d’exploitation.

 5. Quelle est l’adresse IP par défaut de l’hôte Docker ?


A 10.10.10.10

B 172.17.0.0/16

C 0.0.0.0

D 127.0.0.1

B
172.17.0.0/16 est l’adresse IP par défaut de l’hôte Docker.

 6. Quelle commande est utilisée pour aller à l’intérieur d’un conteneur en cours d’exécution ?
A docker sh <container_id>

B docker exec -it <container_id> sh

C docker access <container_id>


D docker ps -a

B
La commande docker exec -it <container_id> sh est utilisée pour aller à l’intérieur
d’un conteneur en cours d’exécution.

 7. Quelle commande est utilisée pour supprimer tous les conteneurs arrêtés, les réseaux
inutilisés, les caches de build et les images en suspens ?

A docker system kill -all

B docker kill -a

C docker system prune

D docker system rm -a

C
La commande docker system prune est utilisée pour supprimer tous les conteneurs
arrêtés, les réseaux inutilisés, les caches de build et les images en suspens.

8. Que pouvez-vous dire sur Docker Compose ?

C’est un fichier YAML composé de tous les détails concernant les différents services,
réseaux et volumes nécessaires à la mise en place de l’application basée sur Docker.
Ainsi, docker-compose est utilisé pour créer plusieurs conteneurs, les héberger et établir
la communication entre eux. Pour la communication entre les conteneurs, des ports sont
exposés par chaque conteneur.

 9. Dans quelles conditions perdez-vous les données stockées dans un conteneur ?
Les données d’un conteneur y restent jusqu’à ce que vous supprimiez le conteneur.

10. Qu’est-ce qu’un Docker Hub ?

 Il s’agit d’un registre public basé sur le cloud fourni par Docker pour stocker les
images publiques des conteneurs et permettre de les trouver et de les partager.
 Les images peuvent être envoyées vers Docker Hub par la commande docker
push.

-------------------------------------------------------------------------------------------

1. Quelle commande peut-on exécuter pour exporter une image docker sous forme d’archive ?

Cela peut être fait en utilisant la commande « docker save ». La syntaxe est la suivante :
docker save -o <nom_exporté>.tar <nom-du-conteneur>.
 2. Quelle commande peut-on exécuter pour importer une image Docker pré-exportée dans un
autre hôte Docker?

Cette opération peut être effectuée à l’aide de la commande « docker load » dont la
syntaxe est la suivante: docker load -i <nom_de_l'image_exportée>.tar

 3. Un conteneur en pause peut-il être supprimé de Docker ?


Non, ce n’est pas possible ! Un conteneur DOIT être dans l’état arrêté avant que nous
puissions le supprimer.

 4. Quelle commande est utilisée pour vérifier la version du client et du serveur docker ?
 La commande utilisée pour obtenir toutes les informations de version du client et
du serveur est docker version.
 Pour récupérer uniquement les détails de la version du serveur, nous pouvons
exécuter la commande docker version --format '{{.Server.Version}}'.

 5. Où les volumes de Docker sont-ils stockés dans Docker ?


Les volumes sont créés et gérés par Docker et ne sont pas accessibles aux entités non
Docker. Ils sont stockés dans le système de fichiers de l’hôte Docker dans
/var/lib/docker/volumes/.

 6. Que fait la commande docker info ?

Cette commande permet d’obtenir des informations détaillées sur Docker installé sur le
système hôte. Il peut s’agir du nombre de conteneurs ou d’images et de leur état
d’exécution, ainsi que des spécifications matérielles telles que la mémoire totale allouée,
la vitesse du processeur, la version du noyau, etc.

 7. Pouvez-vous indiquer la démarche à suivre pour se connecter au registre docker ?


En utilisant la commande docker login, il est possible de saisir les informations
d’identification pour se connecter à ses propres cloud repositories et d’y accéder.

 8. Quelle est la méthode pour établir la communication entre l’hôte Docker et l’hôte Linux ?
Cela peut être fait en utilisant le réseau en identifiant le ipconfig sur l’hôte docker.
Cette commande garantit la création d’un adaptateur Ethernet tant que le docker est
présent sur l’hôte.

  -9. Quelle est la meilleure façon pour supprimer un conteneur ?

Nous devons suivre les deux étapes suivantes pour supprimer un conteneur :
 docker stop <identifiant_conteneur>
 docker rm <identifiant_conteneur>

 10. Peut-on utiliser JSON au lieu de YAML lors du développement du fichier docker-compose
dans Docker ?

Oui, on peut l’utiliser. Afin d’exécuter docker-compose avec JSON, docker-compose -f


docker-compose.json up peut être utilisé.

 11. Combien de conteneurs pouvez-vous exécuter dans Docker et quels sont les facteurs qui
influencent cette limite ?

Il n’y a pas de limite clairement définie au nombre de conteneurs pouvant être exécutés
dans Docker. Mais tout dépend des limitations – plus précisément des restrictions
matérielles. La taille de l’application et les ressources CPU disponibles sont deux
facteurs importants qui influencent cette limite. Si votre application n’est pas très
grande et que vous disposez de ressources CPU suffisantes, vous pouvez faire tourner un
grand nombre de conteneurs.

 -------------------------------------------------------------------------------------

Question 1
Quelle est la principale différence entre une machine virtuelle (VM) et un conteneur ?

1. Un conteneur est une boîte qui contient un logiciel Windows alors qu’une VM fonctionne
généralement sous Linux.
2. Un conteneur permet de faire des applications distribuées dans le cloud contrairement aux
machines virtuelles.
3. Un conteneur partage le noyau du système hôte alors qu’une machine virtuelle virtualise son
propre noyau indépendant.

Question 2
En quoi Docker permet de faire de l'Infrastructure as Code ?

1. Comme Ansible, Docker se connecte en SSH à un Linux pour décrire des configurations.
2. Docker permet avec les Dockerfiles et les fichiers Compose de décrire l’installation d’un
logiciel et sa configuration.

Question 3
Quels sont les principaux atouts de Docker ?

1. Il permet de rendre compatible tous les logiciels avec le cloud (AWS, etc.) et facilite l’IoT.
2. Il utilise le langage Go qui est de plus en plus populaire et accélère les logiciels qui l’utilise.
3. Il permet d’uniformiser les déploiements logiciels et facilite la construction d’application
distribuées.

Question 4
Pour créer un conteneur Docker à partir du code d’un logiciel il faut d’abord :
1. Écrire un Dockerfile qui explique comment empaqueter le code puis construire l’image
Docker avec docker build.
2. Créer un cluster avec docker-machine puis compiler le logiciel avec Docker Stack.

Question 5
Un volume Docker est :

1. Un espace de stockage connecté à un ou plusieurs conteneurs docker.


2. Une image fonctionnelle à partir de laquelle on crée des conteneurs identiques.
3. Un snapshot de l’application que l’on déploie dans un cluster comme Swarm.

Question 6
Indiquez la ou les affirmations vraies :

Comment configurer de préférence un conteneur à sa création (lancement avec docker run) ?

1. Reconstruire l’image à chaque fois à partir du Dockerfile avant.


2. Utiliser des variables d’environnement pour définir les paramètres à la volée.
3. Faire docker exec puis aller modifier les fichiers de configuration à l’intérieur
4. Associer le conteneur à un volume qui rassemble des fichiers de configuration

Question 7
Un Compose file ou fichier Compose permet :

1. D’installer Docker facilement sur des VPS et de contrôler un cluster.


2. D’alléger les images et de détecter les failles de sécurité dans le packaging d’une application.
3. De décrire une application multiconteneurs, sa configuration réseau et son stockage.

Question 8
Indiquez la ou les affirmations vraies :

La philosophie de Docker est basée sur :

1. L’immutabilité, c’est-à-dire le fait de jeter et recréer un conteneur pour le changer plutôt que
d’aller modifier l’intérieur.
2. Le cloud, c’est-à-dire la vente de plateforme et de logiciel “as a service”.
3. L’infrastructure-as-code, c’est-à-dire la description d’un état souhaité de l’infrastructure
hébergeant application

Question 9
Indiquez la ou les affirmations vraies :

1. Docker est très pratique pour distribuer un logiciel mais tous les conteneurs doivent
obligatoirement être exposés à Internet.
2. Docker utilise un cloud pour distribuer facilement des logiciels dans de nombreuses versions.
3. Docker est une catastrophe en terme de sécurité car les conteneurs sont peu isolés.

Question 10
Docker Swarm est :
1. Un cloud où pousser et récupérer les images Docker de la terre entière.
2. Une solution de clustering et d’orchestration intégrée directement avec Docker.
3. Un logiciel qui complète ce qu’offre Kubernetes en y ajoutant des fonctionnalités
manquantes

----------------------------------------------------------------------------

The markup language used to write Docker configuration files is:

 JSON
 YAML
 XML
 HTML

Question 2 of 10
Which of the following is not a container-based alternative to Docker?

 Kubernetes
 CoreOS' rkt
 Canonical's LXD
 Windows Server Containers

Question 3 of 10
What happens if you attempt to perform a Docker build based on an image that has not been
previously referenced on your machine?

 Docker will return a 408: image not found message.


 Docker will return a 404: file not found message.
 Docker will pull the image from GitHub.
 Docker will pull the image from Docker Hub.

Question 4 of 10
Information on how to build a Docker image is written in a file named:

 Dockerfile
 Jenkinsfile
 docker-compose
 dockerimage

Question 5 of 10
Which of the following statements is most correct?

 Docker allows you to run images and build containers.


 Docker allows you to run containers and build images.
 Docker allows you to run and build containers.
 Docker allows you to run and build images.

Question 6 of 10
The Docker logo is:
 a butler
 a sailboat
 an Octocat
 a whale

Question 7 of 10
Which programming language was used to write Docker?

 Java
 C
 C++
 Go

Question 8 of 10
A Docker container is often described as an improvement over what other technology?

 cloud computing
 DevOps
 virtual machines
 microservices

Question 9 of 10
The history of application containerization is intimately tied to which OS?

 Windows
 Linux
 MacOS
 Android

Question 10 of 10
At the OS level, the goal of independent application execution and failure isolation is achieved
through the use of:

 namespaces
 control groups
 Kubernetes
 security groups

-------------------------------------------------------------------------------------------

 Question 1

Lesquelles de ces images pouvez-vous installer sur votre conteneur ?


Attention, plusieurs réponses sont possibles.
o Une image équivalant à un OS Windows
o Une image équivalant à un OS macOS
o Une image équivalant à un OS Linux Debian
o Une image équivalant à un OS Linux Ubuntu
Avec Docker, vous pouvez faire tourner des images équivalant à des systèmes d'exploitation
Linux (Debian et Ubuntu, par exemple), mais pas Windows ou macOS !
Attention, on parle ici du système d'exploitation exécuté par l'image, celui qui tourne sur le
conteneur, et non celui sur lequel repose le conteneur Docker lui-même ! Vous pouvez donc
faire tourner un conteneur Ubuntu sur une machine macOS, par exemple.
 Question 2

Quels sont les avantages des conteneurs ?


Attention, plusieurs réponses sont possibles.
o Ils permettent d'augmenter le nombre de serveurs sur une machine hôte.
o Ils permettent de réduire les coûts d'infrastructure.
o Ils offrent une bonne isolation des ressources.
On utilise des conteneurs pour réduire les coûts de l’infrastructure car, grâce à leur
légèreté, ils permettent de faire tourner plus de serveurs sur une même machine. En
revanche, ils n'offrent pas d'isolation des ressources. Au contraire, l'utilisation des
ressources se fait de manière flexible, contrairement à une machine virtuelle qui les réserve.
 Question 3

Pour le(s)quel(s) des conteneurs suivants devrez-vous mettre en place un système de


persistance des données ?
Attention, plusieurs réponses sont possibles.
o MySQL
o PostgreSQL
o Nginx
Les conteneurs de bases de données (MySQL, PostgreSQL, etc.) sont des
conteneurs stateful, c'est-à-dire que leur bon fonctionnement dépend d'un état. Il faudra
donc pérenniser leurs données afin qu'ils fonctionnent correctement.
Un serveur comme Nginx, à l'inverse, est stateless. Son fonctionnement ne dépend pas
d'autre chose que du conteneur lui-même.
 Question 4

Dans lesquels des cas suivants, utiliser Docker sera une bonne idée ?
Attention, plusieurs réponses sont possibles.
o Vous voulez déployer sur plusieurs serveurs une application web codée en Python,
reposant sur un serveur Apache et connectée à une base de données PostgreSQL.
o Vous voulez simplifier la vie de vos développeurs en leur proposant un
environnement de développement léger et déjà prêt, avec toutes les dépendances
nécessaires à leur travail.
o Vous voulez déployer une base de données distribuée sur 200 nœuds, et qui nécessite un
stockage persistant des données.
o Vous voulez partager le code source de votre page index.html à un collègue.
Docker est idéal pour créer des environnements de développement, ainsi que pour déployer
une application reposant sur plusieurs services.
Cependant, Docker convient bien moins à des systèmes très largement distribués et
nécessitant du stockage persistant, à cause de leur aspect statefull.
Enfin, si vous voulez partager un simple fichier de code source, utilisez Git ! Un conteneur
serait inutile. 😉
 Question 5

Quelle version de Docker devez-vous utiliser sur un Mac ?


o Docker Community Edition
o Docker Desktop
o Docker Enterprise
 Question 6

Pour utiliser Docker Desktop, il vous faut :


o un compte GitHub
o un compte Docker Hub
o une machine Linux
Pour utiliser Docker, vous n'avez besoin que d'un compte Docker Hub. Vous pouvez le faire
fonctionner sur Linux, comme sur macOS ou Windows !
 Question 7

Pourquoi cherche-t-on à avoir des conteneurs légers ?


o Pour que les conteneurs démarrent rapidement
o Car le stockage des images Docker coûte cher
o Pour que les conteneurs s’arrêtent rapidement
Un conteneur léger prendra moins de temps pour être récupéré de la Registry
Docker. Ainsi, il démarrera bien plus rapidement. Le stockage et la vitesse d'arrêt des
conteneurs ne sont pas des critères de valeur.

 Question 1

Lors de la création d’un conteneur, on peut utiliser l’argument  -p. Quelle est sa
fonction ?
o Il correspond à  --processes  et permet de définir le nombre de processus Docker à lancer.
o Il correspond à  --publish  et permet de définir les ports ouverts sur la machine vers le
conteneur Docker.
o Il correspond à  --push  et permet de pousser l'image Docker sur le Docker Hub au moment de
son lancement.
Le  -p  est la forme raccourcie de l'option  --publish  . Il est utile pour spécifier les ports
que vous souhaitez publier, c'est-à-dire pour communiquer entre votre machine hôte et le
conteneur Docker.
 Question 2

À quoi sert la commande  docker system prune  ?


o Elle permet de supprimer Docker de la machine.
o Elle permet de nettoyer le système.
o Elle permet d’optimiser votre installation de Docker.
La commande  docker system prune  permet de nettoyer l’ensemble du système, et de
supprimer les images et conteneurs non utilisés.
 Question 3

Lors de la création d’une image Docker, on souhaite éviter d'apporter certains fichiers
dans nos images Docker. Pour cela, on doit créer un fichier à la racine de notre projet.
Comment se nomme-t-il ?

o .dockerignore

o .gitignore

o .dockerNoUpload
Comme pour Git, où nous créons un fichier de type  .gitignore  , avec Docker, on utilise
un fichier  .dockerignore  .
 Question 4

Lors de la création d’une image Docker, nous cherchons à réduire le nombre


d’instructions  RUN  dans celle-ci. Pourquoi ?

Attention, plusieurs réponses sont possibles.

o Pour rendre le fichier Dockerfile plus court.


o Pour réduire le nombre de layers créées.
o pour réduire la taille de l’image finale.
o Pour réduire le nombre d’images.
Chaque instruction  RUN  crée une nouvelle layer dans notre image Docker. Ainsi, pour
réduire la taille de l'image, nous cherchons à réduire le nombre de layers créées.
 Question 5

À quoi sert le Docker Hub ?

o Le Docker Hub permet de partager du code entre différentes personnes.


o Le Docker Hub permet de partager des images Docker.
o Le Docker Hub permet de partager des fichiers Dockerfile.
Tout comme GitHub pour partager du code, le Docker Hub permet de partager des images
Docker. Attention, il ne s'agit pas d'y partager des fichiers Dockerfile ou du code, mais bien
les images créées.

 Question 6

Téléchargez l'image  openclassrooms/image_on_hub  qui est sur le Docker Hub, pour


l'avoir en local sur votre machine, via la console.
Après le téléchargement, votre console vous renverra le "digest" du conteneur, un long
ID sous la forme  sha256:xxxxxxxxx  .
Quels sont les 10 premiers caractères de l'ID du conteneur ?

o sha256:5c40b3c27b

o sha256:0d80a3c27b

o sha256:cc20a5c45e
En utilisant la commande  docker pull openclassrooms/image_on_hub  , vous
récupérez l'image provenant du repository image_on_hub, du compte Docker Hub
nommé openclassrooms.
 Question 7

Dans une galaxie lointaine, très lointaine...

Une célèbre citation de Star Wars se cache dans le


conteneur openclassrooms/star_wars  . Lancez-le pour vérifier que vous savez lancer
un conteneur, et pour retrouver la phrase cachée !
o Non, je suis ton père.
o Ce ne sont pas les droids que vous recherchez.
o Que la force soit avec toi.
o Vous êtes notre seul espoir !
Utilisez la commande  docker run openclassrooms/star_wars  pour télécharger et
lancer le conteneur en local. C'est ainsi que vous obtiendrez la phrase que renvoie le
conteneur.
 Question 8

Pour cette question, vous allez créer votre Dockerfile en


utilisant openclassrooms/build_image  comme image de départ.
Il faut que votre image soit équipée d'un serveur Nginx qu'il vous faudra donc installer
via le Dockerfile. Une fois cela fait, construisez puis lancez votre image, et une nouvelle
phrase de Star Wars se révélera à vous !

Quelle est cette phrase ?

o La peur est le chemin vers le côté obscur : la peur mène à la colère, la colère mène à la haine, la
haine mène à la souffrance.
o Fais-le ou ne le fais pas. Il n'y a pas d'essai.
o Il y en a toujours un pour manger l'autre.
o Tu ne vends pas de bâtons de la mort, tu vas rentrer chez toi et penser à ton avenir.
Voici une manière fonctionnelle d'écrire votre Dockerfile afin de créer une image démarrant
de  openclassrooms/build_image  :

FROM openclassrooms/build_image

RUN apt-get update \

&& apt-get upgrade -y \

&& apt-get install nginx -y


Ensuite, construisez l'image grâce à la commande  docker build -t image_perso .  .
Puis, lancez le conteneur avec  docker run image_perso  .

Question 1
Correct

Note de 1,00 sur 1,00

Marquer la question

Texte de la question

Vous souhaitez tester une application. Quel est l'hyperviseur le plus adapté ?

a.Un hyperviseur de type 2 ou de type 1, peu importe


b.Un hyperviseur de type 2

oui, a moindre cout et plus rapide a mettre en place pour des fins de test

c.Un hyperviseur de type 1

Feedback
La réponse correcte est : Un hyperviseur de type 2

Question 2
Incorrect

Note de 0,00 sur 1,00

Marquer la question

Texte de la question

Quelle est la différence fondamentale entre un hyperviseur de type 1 et de type 2 ?

a.Les performances

b.Le nombre de VM qui peuvent être créées dessus

c.Le coût

d.Le type d’OS sur lequel il peut être installé

e.Sa capacité à accéder directement aux ressources physiques de l’hôte

Feedback
La réponse correcte est : Sa capacité à accéder directement aux ressources physiques de l’hôte

Question 3
Partiellement correct

Note de 0,67 sur 1,00

Marquer la question
Texte de la question

Quels sont les intérêts de virtualiser une infrastructure en entreprise ?

a.Moins de dépenses logicielles

b.Moins de dépenses matérielles

Car on mutalisae les ressources physiques

c.Un gain de place

d.Des économies d'énergie

Car on mutalisae les ressources physiques

Feedback
Les réponses correctes sont : Moins de dépenses matérielles, Des économies d'énergie, Un gain de
place

Question 4
Partiellement correct

Note de 0,67 sur 1,00

Marquer la question

Texte de la question

Quelles sont les principales ressources qu'un hyperviseur partage ? Attention, plusieurs
réponses sont possibles

a.Du CPU

b.De l’espace de stockage

oui mais pas uniquement

c.De la mémoire

oui mais pas uniquement


d.Des périphériques audio

e.Un clavier

Feedback
Les réponses correctes sont : Du CPU, De la mémoire, De l’espace de stockage

Question 5
Correct

Note de 1,00 sur 1,00

Marquer la question

Texte de la question

L’hyperviseur qui fournit une performance plus élevée est :

a.Hyperviseur de type 1

Oui, car hyperviseur a un accès direct aux ressources matérielles

b.Hyperviseur de type 2

Feedback
La réponse correcte est : Hyperviseur de type 1

Question 6
Correct

Note de 1,00 sur 1,00

Marquer la question

Texte de la question

Si sur une machine hôte Windows 10, vous installez VirtualBox, vous serez capable de créer
des VM de type : Attention, plusieurs réponses sont possibles.

a.Windows XP
Il est possible de lancer n’importe quel OS sur une VM dès lors que vous avez un fichier d’installation
ISO ou une image disque de la VM avec cet OS.

b.MacOS 10.5

Il est possible de lancer n’importe quel OS sur une VM dès lors que vous avez un fichier d’installation
ISO ou une image disque de la VM avec cet OS.

c.Windows 10

Il est possible de lancer n’importe quel OS sur une VM dès lors que vous avez un fichier d’installation
ISO ou une image disque de la VM avec cet OS.

d.Ubuntu 12.04

Il est possible de lancer n’importe quel OS sur une VM dès lors que vous avez un fichier d’installation
ISO ou une image disque de la VM avec cet OS.

e.Android 8.0

Il est possible de lancer n’importe quel OS sur une VM dès lors que vous avez un fichier d’installation
ISO ou une image disque de la VM avec cet OS.

Feedback
Les réponses correctes sont : Windows 10, Windows XP, Ubuntu 12.04, MacOS 10.5

Question 7
Correct

Note de 1,00 sur 1,00

Marquer la question

Texte de la question

Qu'est ce qu'un fichier OVF ?

a.OVF pour Open Virtualisation Framework est un framework ouvert pour la virtualisaiton

b.OVF pour Open VMware Format et un format ouvert proposé par VMware
c.OVF pour Open Virutlisation Format et un format de fichier permettant l'echange d'images de
machines virtuelles entre differents hyperviseurs (export pui import)

tout est dit

Feedback
La réponse correcte est : OVF pour Open Virutlisation Format et un format de fichier permettant
l'echange d'images de machines virtuelles entre differents hyperviseurs (export pui import)

Question 8
Incorrect

Note de 0,00 sur 1,00

Marquer la question

Texte de la question

Sur un hyperviseur de Type 2, je peux avoir des systèmes invités ayant des systèmes
d’exploitation différents ?
Veuillez choisir une réponse.

Vrai

Faux 

Feedback
La réponse correcte est « Vrai ».

Question 9
Correct

Note de 1,00 sur 1,00

Marquer la question

Texte de la question

Quel est le mécanisme clé sur lequel repose la virtualisation ?

a.

Le partage des ressources physiques


C’est grâce à cela qu’il est possible de créer une ou plusieurs machines virtuelles sur une machine
physique.

b.

La haute disponibilité

c.

La séparation de la couche logique avec la couche physique

Feedback
La réponse correcte est : Le partage des ressources physiques

Question 10
Correct

Note de 1,00 sur 1,00

Marquer la question

Texte de la question

Sur un hyperviseur de Type 1, je peux avoir des systèmes invités ayant des systèmes
d’exploitation différents ?
Veuillez choisir une réponse.

Vrai 

Faux

Feedback
La réponse correcte est « Vrai ».

Vous aimerez peut-être aussi