Font size
WorksheetsQuiz Docker
Total questions: 30
Worksheet time: 19mins
Qu'est-ce qu'un Dockerfile ?
a) Un fichier de configuration pour Docker Compose
b) Un script en Python pour gérer les conteneurs
c) Un fichier texte contenant les instructions pour construire une image Docker
d) Un fichier de logs généré par Docker
Quelle commande permet de construire une image Docker ?
docker run myimage
docker build -t myimage .
docker create myimage
docker start myimage
Que fait la commande docker run -p 8000:80 myapp ?
Mappe le port 8000 du conteneur vers le port 80 de l'hôte
Mappe le port 80 du conteneur vers le port 8000 de l'hôte
Lance l'application sur les ports 8000 et 80 simultanémen
Crée une connexion réseau entre deux conteneurs
Comment lister les conteneurs en cours d'exécution ?
a) docker list
b) docker show
c) docker ps
d) docker containers
Quelle image de base Python est recommandée pour FastAPI en production ?
python:latest
python:3.11-slim
python:3.11-alpine
ubuntu:latest
Comment lister les conteneurs en cours d'exécution ?
docker list
docker show
docker ps
docker containers
Complétez ces commandes Docker :
# Construire une image :
docker (a) -t myapp:latest .
# Lancer un conteneur en arrière-plan :
docker (a) -d -p 8000:8000 myapp
# Voir les logs d'un conteneur :
docker (a) container_name
# Arrêter un conteneur :
docker (a) container_name
Complétez le modèle Pydantic :
class User( (a) ):
Complétez l'URL de la documentation :
http:/localhost:8000/ (a)
Complétez l'exception FastAPI :
raise (a) (status_code=404)
Quel est le rôle de .dockerignore ?
Ignorer les erreurs de construction
Exclure des fichiers du contexte de build
Configurer les logs Docker
Définir les variables d'environnement
Comment définir une variable de requête optionnelle en FastAPI ?
name: str = None
name: Optional[str]
name: str = Query(None)
Toutes les réponses ci-dessus
Comment gérer les CORS en FastAPI ?
Utiliser le middleware CORSMiddleware
Configurer dans le Dockerfile
Utiliser @app.cors()
Modifier les headers manuellement
Quel status code FastAPI retourne par défaut pour une création réussie ?
200
201
202
404
Complétez l'instruction pour copier des fichiers :
(a) . /app
Complétez le middleware CORS :
app.add_middleware( (a) Middleware)
Complétez l'instruction d'exposition de port :
(a) 8000
Complétez la commande pour supprimer une image :
docker (a) image_name
Quelle commande permet de supprimer toutes les images Docker non utilisées ?
a) docker rm -a
b) docker image prune -a
c) docker clean images
d) docker rmi all
Quel code FastAPI permet de retourner un JSON automatiquement ?
a) return Response({"msg": "Hello"})
b) return {"msg": "Hello"}
c) return jsonify({"msg": "Hello"})
d) return Json({"msg": "Hello"})
Quelle est la meilleure pratique pour stocker les dépendances Python dans Docker ?
a) Les écrire directement dans le Dockerfile
b) Utiliser un fichier requirements.txt
c) Installer manuellement dans le conteneur
d) Copier l’environnement virtuel
Complétez l’instruction Dockerfile pour définir une commande par défaut :
(a) ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
Complétez la création d’une application FastAPI :
app = (a) ()
Complétez la déclaration d’un paramètre de chemin :
@app.get("/items/{ (a) }")
Différence CMD vs ENTRYPOINT ??
Identiques
CMD a priorité sur ENTRYPOINT
ENTRYPOINT définit l’exécutable principal, CMD ses arguments par défaut
ENTRYPOINT ne reçoit pas d’arguments
Dans Docker, quel est l’effet d’un .dockerignore bien configuré ?
Rien
Réduit la taille de l’image et le contexte de build
Supprime des fichiers en runtime
Remplace .gitignore
8) Quelle option permet d’exclure un champ de la réponse JSON ?
@exclude_field
Pas possible
Depends(exclude=...)
response_model_exclude={"password"}
