Lire des Dockerfiles et exécuter des conteneurs

Concepts de conteneurisation et de virtualisation

Julia Ostheimer

Freelance AI Consultant

Rappel des termes Docker

 

Du Dockerfile au conteneur Docker

Concepts de conteneurisation et de virtualisation

Instructions Docker vs commandes Docker

  • Les instructions Docker indiquent comment construire une image Docker

Instructions Docker dans un Dockerfile

  • Commandes Docker : commandes via l’interface en ligne de commande (CLI)

Commandes Docker en CLI

Concepts de conteneurisation et de virtualisation

Format d’un Dockerfile

 

Dockerfile - Commentaire

Concepts de conteneurisation et de virtualisation

Format d’un Dockerfile

 

Dockerfile - Instruction

Concepts de conteneurisation et de virtualisation

Format d’un Dockerfile

 

Dockerfile - Commande d’une instruction Docker

Concepts de conteneurisation et de virtualisation

Format d’un Dockerfile

 

Dockerfile - Argument d'une instruction Docker

Concepts de conteneurisation et de virtualisation

Ordre séquentiel dans les Dockerfiles

  • Exécution séquentielle
  • Début d’un Dockerfile :
    • Métadonnées
    • Commentaires
    • Arguments
    • Instruction FROM
Concepts de conteneurisation et de virtualisation

Aperçu des instructions Docker

  • Instructions Docker importantes
    • FROM
    • COPY
    • RUN
    • ENTRYPOINT
Concepts de conteneurisation et de virtualisation

Instruction FROM

  • Spécifie une image Docker existante
  • Définit l’image de base
    • « Point de départ »  

Syntaxe :

FROM <name_of_image>

Exemple :

# Définir l’image de base
FROM python:3.10
Concepts de conteneurisation et de virtualisation

Instruction COPY

  • Copie des fichiers ou répertoires
    • De la source (<source>) vers la destination (<destination>)
    • Fichiers requis par les instructions suivantes  

Syntaxe :

COPY <source> <destination>

Exemple :

# Copier fichiers/dossiers dans le dossier racine du conteneur
COPY . .
Concepts de conteneurisation et de virtualisation

Instruction RUN

  • Exécute une commande dans un conteneur
    • Toute commande exécutable en CLI

 

Syntaxe :

RUN <command>

Exemple :

# Installer les dépendances de l’application
RUN pip install -r requirements.txt
Concepts de conteneurisation et de virtualisation

Instruction ENTRYPOINT

  • Définit le comportement par défaut du conteneur
    • Spécifie la commande au démarrage
    • But principal du conteneur  

Syntaxe :

ENTRYPOINT ["command", "argument"]

Exemple :

# Lancer le script au démarrage du conteneur
ENTRYPOINT ["python", "hello_world.py"]
Concepts de conteneurisation et de virtualisation

Assembler les instructions dans un Dockerfile

# Define the image on which to build
FROM python:3.10
Concepts de conteneurisation et de virtualisation

Assembler les instructions dans un Dockerfile

# Define the image on which to build
FROM python:3.10

# Copy files/folders to the main folder of the container
COPY . .
Concepts de conteneurisation et de virtualisation

Assembler les instructions dans un Dockerfile

# Define the image on which to build
FROM python:3.10

# Copy files/folders to the main folder of the container
COPY . .

# Install the application's dependencies
RUN pip install -r requirements.txt
Concepts de conteneurisation et de virtualisation

Assembler les instructions dans un Dockerfile

# Define the image on which to build
FROM python:3.10

# Copy files/folders to the main folder of the container
COPY . .

# Install the application's dependencies
RUN pip install -r requirements.txt

# Run the script when the container starts
ENTRYPOINT ["python", "hello_world.py"]
Concepts de conteneurisation et de virtualisation

Commande docker build

  • Construit une image Docker à partir d’un Dockerfile
    • Le Dockerfile doit être dans le contexte de build (<context>)
    • Commande exécutée via le client Docker en CLI

 

Syntaxe :

docker build <context>
Concepts de conteneurisation et de virtualisation

Commande docker run

  • Crée et exécute un conteneur à partir d’une image Docker
    • L’image Docker doit être indiquée en argument (<name_of_image>)
    • Commande exécutée via le client Docker en CLI

 

Syntaxe :

docker run <name_of_image>
Concepts de conteneurisation et de virtualisation

Passons à la pratique !

Concepts de conteneurisation et de virtualisation

Preparing Video For Download...