Créer une image Docker
Lorsqu'il s'agit de déployer les applications, Docker est la technologie de choix. Docker est simplement l'une technologie open source qui permet de déployer des applications dans des conteneurs. En tant que Data Scientist, vous êtes amenés à deployer vos modèles et Docker est une bonne solution.
Une image Docker est une représentation figée d’une application, contenant tout ce dont elle a besoin pour s’exécuter : code, dépendances, bibliothèques, fichiers de configuration, etc.
Elle sert de modèle pour créer des conteneurs Docker.
Structure du Dockerfile#
Le Dockerfile est un fichier qui décrit la logique de déploiement d'une application. On y spécifie l'environnement
Mot Clé | Description |
---|---|
FROM | L'instruction FROM permet d'indiquer l'image Docker de base à partir de laquelle |
WORKDIR | L'instruction WORKDIR permet d'indiquer le répertoire de l'application. |
COPY | L'instruction COPY permet de copier des éléments dans le conteneurs. |
ADD | L'instruction ADD est similaire à COPY mais peut également copier des éléments externes depuis des URLs. |
FROM
L'instruction FROM permet d'indiquer l'image Docker de base à partir de laquelle
WORKDIR
L'instruction WORKDIR permet d'indiquer le répertoire de l'application.
COPY
L'instruction COPY permet de copier des éléments dans le conteneurs.
ADD
L'instruction ADD est similaire à COPY mais peut également copier des éléments externes depuis des URLs.
RUN
L'instruction RUN permet d'exécuter des instructions dans le conteneur, installer des dépendances par exemple.
EXPOSE
L'instruction EXPOSE permet d'indiquer les ports à ouvrir dans le conteneur.
CMD
L'instruction CMD permet d'indiquer la commande à utiliser pour démarrer l'application.
Exemple
FROM python:3.7-buster
ADD . /app
WORKDIR /app
RUN pip install --upgrade pip \
&& pip install -r requirements.txt
EXPOSE 5000
CMD ["python", "app.py"]
Construire une image#
Une fois le Dockerfile prêt, il faut créer l'image Docker
Afficher la liste des images#
PS C:\Users\Administrateur> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest 9c7a54a9a43c 5 weeks ago 13.3kB
iflaskapp v1 89e2ade90aae 3 months ago 924MB
myflaskapp latest 163359a9e1d3 3 months ago 941MB
alpine/git latest 22d84a66cda4 6 months ago 43.6MB
PS C:\Users\Administrateur>
Supprimer une image#
Dans la prochaine section, vous découvrirez comment lancer deployer des instances de vos applications grâce aux contenuers Docker.