Docker facilite le développement et le déploiement d'environnements personnalisés et cohérents qui incluent des applications et des dépendances spécifiques. Docker appelle ces compilations Images. Les images Docker peuvent être hébergées et récupérées à partir d'emplacements privés ou du référentiel officiel, Docker Hub.
Ce guide fait partie d'une série d'introductions aux concepts Docker. Les commandes pour créer une image dans ce guide s'appuient sur le guide précédent, Comment installer et extraire des images pour le déploiement de conteneurs. Pour plus d'informations sur Docker et les conteneurs, consultez nos guides sur les conteneurs.
Créer une image Docker
Créez une nouvelle image locale basée sur la dernière image Ubuntu Docker. Bien que le référentiel dispose déjà d'un certain nombre d'images de pile LAMP disponibles, nous en créons une dans ce guide à titre d'exemple du processus.
-
Extrayez la dernière image Ubuntu :
docker pull ubuntu
-
Créez le nouveau conteneur, de sorte que nous puissions ajouter notre pile LAMP à Ubuntu. Cet exemple nomme le conteneur
lamp-server-template
et ajoute lebash
option à la commande docker pour entrer dans le conteneur afin de continuer à apporter des modifications :docker run --name lamp-server-template -it ubuntu:latest bash
-
Installez le
lamp-server
métapaquet à l'intérieur du conteneur :apt-get install lamp-server^
Cette mise à niveau et cette installation prendront plus de temps que si vous travailliez sur un serveur standard. Lors de l'installation de la pile LAMP, vous serez invité à créer un mot de passe utilisateur root MySQL. Une fois l'installation terminée, quittez le conteneur :
exit
-
Utilisez
docker ps -a
pour lister tous les conteneurs disponibles :
Valider les modifications apportées à l'image
Pour valider les modifications apportées à l'image, nous devons d'abord disposer de l'ID du conteneur. Comme dans l'exemple ci-dessus, le docker ps -a
la commande répertorie l'ID comme d09dd0f24b58
. Nous allons nommer notre nouvelle image lamp-server-template
et validez les modifications avec la commande :
docker commit d09dd0f24b58 lamp-server-template
Si vous exécutez les docker images
commande, vous verrez la nouvelle image, lamp-server-template
répertorié.
Étiqueter votre image pour le contrôle de version
Lorsque vous extrayez une image de Docker Hub, le Status
la ligne inclut la balise d'image comme indiqué ici :
Status: Downloaded newer image for ubuntu:latest
Les balises Docker vous permettent de savoir facilement avec quelle version ou version vous travaillez. Ceci est particulièrement utile pour créer de nouvelles images à partir d'une image de base. Par exemple, si vous utilisez une image Ubuntu comme base pour créer différentes images, les balises Docker vous aident à suivre les différences :
lamp-server-template:v1.8.10.2017
lamp-server-template:v2.8.10.2017
lamp-server-template:v3.8.10.2017
-
Créer des balises d'image avec un
docker commit
. À l'aide des exemples de balises ci-dessus, balisez la nouvelle image avec un numéro de version et une date :docker commit d09dd0f24b58 lamp-server-template:v1.8.10.2017
-
Exécutez les
docker images
pour voir la nouvelle image créée avec le tag associé :
Transférer votre image vers Docker Hub
-
Avant de pousser l'image vers Docker Hub, ajoutez une description, votre nom complet (
FULL NAME
dans l'exemple ici), et le nom d'utilisateur de Docker Hub (USERNAME
) dans ledocker commit
:docker commit -m "Added LAMP Server" -a "FULL NAME" d09dd0f24b58 USERNAME/lamp-server-template:v1.8.10.2017
-
Une fois qu'il est entièrement balisé, connectez-vous et transférez-le vers Docker Hub :
docker login
-
Vous serez invité à fournir vos informations d'identification Docker Hub. Une fois l'authentification réussie, vous verrez
Login succeeded
. Maintenant, vous pouvez pousser l'image vers le Hub avec la commande :docker push lamp-server-template:v1.8.10.2017
-
Ouvrez un navigateur, connectez-vous à votre compte Docker Hub et accédez à votre référentiel principal. Vous verrez la nouvelle image répertoriée. Cliquez sur l'image puis cliquez sur les Tags onglet pour voir la balise ajoutée :
Et c'est tout ce qu'il y a à faire pour créer une nouvelle image, modifier l'image, valider vos modifications, marquer l'image et envoyer l'image complète vers Docker Hub, le tout géré directement depuis votre Linode.
Plus d'informations
Vous pouvez consulter les ressources suivantes pour plus d'informations sur ce sujet. Bien que ceux-ci soient fournis dans l'espoir qu'ils seront utiles, veuillez noter que nous ne pouvons pas garantir l'exactitude ou l'actualité des documents hébergés en externe.
- Documents Docker
- Didacticiel d'essai de Docker
- Centre Docker