wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz Docker

Total questions: 30

Worksheet time: 19mins

Name
Class
Date
1.

Qu'est-ce qu'un Dockerfile ?

a)

a) Un fichier de configuration pour Docker Compose

b)

b) Un script en Python pour gérer les conteneurs

c)

c) Un fichier texte contenant les instructions pour construire une image Docker

d)

d) Un fichier de logs généré par Docker

2.

Quelle commande permet de construire une image Docker ?

a)

docker run myimage

b)

docker build -t myimage .

c)

docker create myimage

d)

docker start myimage

3.

Que fait la commande docker run -p 8000:80 myapp ?

a)

Mappe le port 8000 du conteneur vers le port 80 de l'hôte

b)

Mappe le port 80 du conteneur vers le port 8000 de l'hôte

c)

Lance l'application sur les ports 8000 et 80 simultanémen

d)

Crée une connexion réseau entre deux conteneurs

4.

Comment lister les conteneurs en cours d'exécution ?

a)

a) docker list

b)

b) docker show

c)

c) docker ps

d)

d) docker containers

5.

Quelle image de base Python est recommandée pour FastAPI en production ?

a)

python:latest

b)

python:3.11-slim

c)

python:3.11-alpine

d)

ubuntu:latest

6.

Comment lister les conteneurs en cours d'exécution ?

a)

docker list

b)

docker show

c)

docker ps

d)

docker containers

7.

Complétez ces commandes Docker :

# Construire une image :

docker (a)   -t myapp:latest .

8.

# Lancer un conteneur en arrière-plan :

docker (a)   -d -p 8000:8000 myapp

9.

# Voir les logs d'un conteneur :

docker (a)   container_name

10.

# Arrêter un conteneur :

docker (a)   container_name

11.

Complétez le modèle Pydantic :

class User( (a)   ):

12.

Complétez l'URL de la documentation :

http:/localhost:8000/ (a)  

13.

Complétez l'exception FastAPI :

raise (a)   (status_code=404)

14.

Quel est le rôle de .dockerignore ?

a)

Ignorer les erreurs de construction

b)

Exclure des fichiers du contexte de build

c)

Configurer les logs Docker

d)

Définir les variables d'environnement

15.

Comment définir une variable de requête optionnelle en FastAPI ?

a)

name: str = None

b)

name: Optional[str]

c)

name: str = Query(None)

d)

Toutes les réponses ci-dessus

16.

Comment gérer les CORS en FastAPI ?

a)

Utiliser le middleware CORSMiddleware

b)

Configurer dans le Dockerfile

c)

Utiliser @app.cors()

d)

Modifier les headers manuellement

17.

Quel status code FastAPI retourne par défaut pour une création réussie ?

a)

200

b)

201

c)

202

d)

404

18.

Complétez l'instruction pour copier des fichiers :

(a)   . /app

19.

Complétez le middleware CORS :

app.add_middleware( (a)   Middleware)

20.

Complétez l'instruction d'exposition de port :

(a)   8000

21.

Complétez la commande pour supprimer une image :

docker (a)   image_name

22.

Quelle commande permet de supprimer toutes les images Docker non utilisées ?

a)

a) docker rm -a

b)

b) docker image prune -a

c)

c) docker clean images

d)

d) docker rmi all

23.

Quel code FastAPI permet de retourner un JSON automatiquement ?

a)

a) return Response({"msg": "Hello"})

b)

b) return {"msg": "Hello"}

c)

c) return jsonify({"msg": "Hello"})

d)

d) return Json({"msg": "Hello"})

24.

Quelle est la meilleure pratique pour stocker les dépendances Python dans Docker ?

a)

a) Les écrire directement dans le Dockerfile

b)

b) Utiliser un fichier requirements.txt

c)

c) Installer manuellement dans le conteneur

d)

d) Copier l’environnement virtuel

25.

Complétez l’instruction Dockerfile pour définir une commande par défaut :

(a)   ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

26.

Complétez la création d’une application FastAPI :

app = (a)   ()

27.

Complétez la déclaration d’un paramètre de chemin :

@app.get("/items/{ (a)   }")

28.

Différence CMD vs ENTRYPOINT ??

a)

Identiques

b)

CMD a priorité sur ENTRYPOINT

c)

ENTRYPOINT définit l’exécutable principal, CMD ses arguments par défaut

d)

ENTRYPOINT ne reçoit pas d’arguments

29.

Dans Docker, quel est l’effet d’un .dockerignore bien configuré ?

a)

Rien

b)

Réduit la taille de l’image et le contexte de build

c)

Supprime des fichiers en runtime

d)

Remplace .gitignore

30.

8) Quelle option permet d’exclure un champ de la réponse JSON ?

a)

@exclude_field

b)

Pas possible

c)

Depends(exclude=...)

d)

response_model_exclude={"password"}