Docker construit un guide pour débutant pour construire des images Docker
- 932
- 226
- Romain Martinez
Docker est un outil populaire pour les applications d'emballage et de déploiement dans un environnement isolé, et un élément clé du flux de travail Docker est de créer des images Docker. Nous pouvons créer nos propres images à l'aide d'images de base et les utiliser pour créer des conteneurs. Nous pouvons également extraire les images directement du hub docker (https: // hub.docker.com /) pour notre application. Dans ce guide du débutant, nous expliquerons ce que sont les images Docker et comment les construire.
Qu'est-ce qu'une image Docker?
Une image Docker est un package léger, autonome et exécutable qui comprend tout ce qui est nécessaire pour exécuter un logiciel, y compris le code, un runtime, des bibliothèques, des variables d'environnement et des fichiers de configuration.
Les images Docker sont construites au-dessus de la technologie de contenerisation open source de Docker, qui permet aux développeurs d'emballer et de déployer des applications dans un conteneur, ce qui facilite l'exécution des applications de manière cohérente dans différents environnements.
Comment construire une image docker
Pour construire une image Docker, vous devez créer un DockerFile, qui est un fichier texte qui contient un ensemble d'instructions pour créer l'image. Le dockerfile dit à Docker quoi faire lors de la création de l'image, telles que les fichiers à inclure, quelles bibliothèques installer, et quelles commandes d'exécuter.
Voici un exemple dockerfile qui crée une image python simple:
De Python: copie à 10 slires . / App workdir / application run pip install -r exigences.txt cmd ["python", "Main.py "]12345678 | De Python: copie à 10 slires . / AppworkDir / App Run Pip Install -r Exigences.txt cmd ["python", "Main.py "] |
Dans cet exemple:
- Le dockerfile commence par une instruction «à partir», qui spécifie l'image de base à utiliser comme point de départ pour la nouvelle image. Dans ce cas, nous utilisons le 'Python: 3.10-SLIM ' image, qui comprend une version minimale de Python 3.dix.
- Le 'COPIE' L'instruction copie les fichiers du répertoire actuel (.) dans le '/ app répertoire dans l'image.
- Le 'Workdir' l'instruction définit le répertoire de travail pour '/ app, de sorte que toutes les commandes suivantes sont exécutées à partir de ce répertoire.
- Le 'COURIR' L'instruction exécute une commande pour installer les dépendances Python spécifiées dans le 'exigences.SMS' déposer.
- Finalement, le 'Cmd' L'instruction spécifie la commande pour s'exécuter lorsque le conteneur est démarré. Dans ce cas, il exécute le 'principal.py ' Script python.
Pour créer l'image, vous pouvez utiliser la commande docker build et spécifier le 'Dockerfile' et un nom pour l'image:
docker build -t my-python-app .
Cela va construire l'image et lui donner la balise 'my-python-app ". Vous pouvez ensuite exécuter l'image en utilisant le 'Docker Run'
commande:
docker exécute my-python-app
Gérer les images Docker
Une fois que vous avez construit des images Docker, il y a quelques tâches que vous devrez peut-être effectuer pour les gérer. Voici quelques tâches courantes pour gérer les images Docker:
- Images de liste:
Vous pouvez utiliser le
'images docker'
Commande pour répertorier toutes les images de votre système. La sortie comprendra le référentiel, la balise et l'ID d'image pour chaque image.images docker
Repository tag ID ID ID créé Taille My-Python-App Dernier FC6A1ED7B9FB Il y a 3 minutes 967mb Python 3.10-SLIM BD4E6CDB1E80 il y a 7 jours 142 Mo - Suppression des images:
Pour supprimer une image, vous pouvez utiliser le
'docker rmi'
Commande suivie de l'ID d'image ou du référentiel et de la balise. Par exemple, pour supprimer l'image my-python-app, vous pouvez utiliser la commande suivante:docker rmi my-python-app
- Taging Images:
Vous pouvez utiliser des balises pour donner à vos images des noms descriptifs et gérer facilement plusieurs versions. Pour marquer une image, vous pouvez utiliser le
'Docker Tag'
commande suivie par le 'ID d'image', le référentiel et le nom de la balise, et la valeur de balise. Par exemple, pour marquer le 'my-python-app " image avec le '1.0 ' Tag, vous pouvez utiliser la commande suivante:docker tag fc6a1ed7b9fb my-python-app: 1.0
- Pousser les images vers un registre:
Un registre est un emplacement de stockage pour Docker Images, et vous pouvez utiliser un registre pour partager vos images avec d'autres ou les déployer dans un environnement de production. Pour pousser une image vers un registre, vous devez d'abord vous connecter au registre à l'aide du
'Docker Connexion'
commande, puis utilisez le'docker push'
commande pour télécharger l'image. Par exemple, pour pousser le 'my-python-app " Image du registre Docker Hub, vous pouvez utiliser les commandes suivantes:Connexion Docker
docker pousse my-python-app
- Tirer des images d'un registre:
Pour tirer une image d'un registre, vous pouvez utiliser le
'Docker Pull'
Commande suivie du référentiel et du nom de la balise. Par exemple, pour extraire l'image My-Python-App du registre Docker Hub, vous pouvez utiliser la commande suivante:docker tire mon-python-app
En utilisant ces commandes, vous pouvez facilement gérer vos images Docker et les partager avec d'autres.
Meilleures pratiques pour construire des images docker
Il y a quelques meilleures pratiques à garder à l'esprit lors de la construction d'images Docker:
- Utilisez une image de base minimale: C'est généralement une bonne idée d'utiliser une image de base minimale, comme Alpine ou Slim, pour garder la taille de l'image aussi petite que possible.
- Gardez le dockerfile simple: Essayez de garder le dockerfile aussi simple que possible, chaque instruction faisant une chose. Cela facilitera la compréhension et le maintien.
- Utilisez des versions à plusieurs étages: Si votre application dispose de plusieurs étapes de construction, telles que la construction et les tests, vous pouvez utiliser des versions à plusieurs stages pour créer une seule image qui ne comprend que les composants nécessaires. Cela peut aider à réduire la taille de l'image.
- Utilisez la mise en cache: Docker a un mécanisme de cache intégré qui stocke les résultats intermédiaires de chaque instruction dans le 'Dockerfile
- Utiliser un .fichier dockergnore: Semblable à un .Fichier Gitignore, un .Le fichier Dockerrignore vous permet de spécifier des modèles pour les fichiers et les répertoires qui doivent être exclus lors de la création de l'image. Cela peut aider à améliorer les performances de construction et à maintenir la taille de l'image plus petite.
- Utilisez des variables d'environnement: Au lieu de codages en dur dans le dockerfile, vous pouvez utiliser des variables d'environnement pour rendre l'image plus flexible et plus facile à modifier.
- Gardez l'image à jour: Il est important de conserver l'image de base et tous les packages installés à jour pour vous assurer que vous disposez des derniers correctifs et fonctionnalités de sécurité.
- Testez l'image: Avant de déployer l'image, c'est une bonne idée de la tester pour s'assurer qu'elle fonctionne comme prévu. Vous pouvez utiliser Docker Compose pour configurer un environnement de développement local et exécuter l'image dans un conteneur.
Conclusion
Dans ce guide, nous avons couvert les bases de la construction d'images Docker et avons fourni quelques meilleures pratiques à suivre. En suivant ces directives, vous pouvez créer des images Docker efficaces et fiables qui peuvent être facilement déployées et maintenues.