Avec le développement rapide du cloud computing, la technologie de conteneurisation attire de plus en plus d'attention. En tant que représentant de la technologie de conteneurisation, Docker est puissant et facile à utiliser, ce qui peut nous aider à créer, publier et déployer rapidement des applications.
Dans Docker, la mise en miroir est un concept important. Une image est un progiciel léger et portable qui contient tout le code, le runtime, les bibliothèques, la configuration, etc. requis par l'application. Grâce aux images Docker, nous pouvons facilement déployer et exécuter des applications.
Cependant, en utilisation réelle, nous devons gérer et enregistrer les images Docker. Cet article présentera en détail comment Docker enregistre les images.
1. Sauvegarde des images Docker
Les images Docker sont composées de plusieurs calques. Lorsque nous téléchargeons une image Docker, nous téléchargeons en fait plusieurs couches de l'image. Ces couches existent sous forme de lecture seule sur le périphérique de stockage de l'hôte local pour être utilisées par les conteneurs Docker. Par conséquent, si nous voulons enregistrer l’image Docker, nous devons enregistrer tous les calques.
Docker propose deux façons d'enregistrer des images : l'enregistrement sous forme d'archive tar et le transfert vers Docker Hub. Ci-dessous, nous présenterons respectivement les opérations spécifiques de ces deux méthodes.
Docker fournit une commande de sauvegarde pour enregistrer l'image en tant que package tar. La syntaxe de cette commande est la suivante :
docker save [OPTIONS] IMAGE [IMAGE...]
Parmi eux, OPTIONS est un paramètre facultatif, et IMAGE est le nom ou l'ID de l'image à enregistrer. Par exemple, si nous voulons enregistrer l'image centos:7 en tant que package tar, nous pouvons exécuter la commande suivante :
docker save -o centos7.tar centos:7
Cette commande enregistrera toutes les couches de l'image centos:7 sous le fichier centos7.tar. Le paramètre spécifie le chemin et le nom du fichier de sortie. Après l'enregistrement, nous pouvons transférer l'archive tar vers d'autres hôtes ou périphériques de stockage pour utiliser l'image dans d'autres environnements.
Si vous devez enregistrer plusieurs images, vous pouvez spécifier plusieurs noms ou identifiants d'image dans la commande. Par exemple, si nous voulons enregistrer les deux images centos:7 et nginx:latest, nous pouvons exécuter la commande suivante :
docker save -o images.tar centos:7 nginx:latest
Cette commande enregistrera toutes les couches des images centos:7 et nginx:latest sous forme de fichiers images.tar .
Docker Hub est un référentiel d'images officiel fourni par Docker Nous pouvons transférer les images que nous créons vers ce référentiel pour les utiliser ailleurs.
Avant de transférer l'image vers Docker Hub, vous devez créer un compte Docker Hub et vous connecter au compte. Si vous n'avez pas de compte, vous pouvez en créer un sur le site Web Docker Hub.
Après vous être connecté à Docker Hub, vous pouvez exécuter la commande suivante pour pousser l'image vers Docker Hub :
docker login docker tag IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG] docker push NAME[:TAG]
Parmi eux, IMAGE est le nom ou l'ID de l'image à pousser, TAG est le numéro de version de l'image , et la valeur par défaut est la plus récente ; REGISTRYHOST est l'image Docker. L'adresse de l'entrepôt est le nom d'utilisateur du compte Docker Hub. NAME est le nom de l'entrepôt d'images vers lequel le transfert est effectué.
Par exemple, si nous voulons pousser l'image myservice locale vers l'entrepôt d'images myservice sur Docker Hub, nous pouvons exécuter la commande suivante :
docker login docker tag myservice username/myservice:latest docker push username/myservice:latest
Cette commande renommera l'image myservice en tant que username/myservice:latest et la poussera vers Docker Hub dans le référentiel miroir myservice.
2. Importation et chargement d'images Docker
Lorsque nous devons utiliser l'image Docker enregistrée dans un autre hôte ou environnement, nous pouvons l'utiliser en l'important ou en la chargeant.
Si nous obtenons un package tar d'image Docker enregistré à partir d'un autre hôte ou périphérique de stockage, nous pouvons importer le package tar en tant qu'image Docker via la commande d'importation. La syntaxe de cette commande est la suivante :
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
Parmi eux, OPTIONS est un paramètre facultatif, file|URL|- est le chemin du package tar ou l'URL à importer, REPOSITORY est le nom de l'image importée et TAG est le numéro de version de l'image.
Par exemple, si nous voulons importer une image centos:7 depuis /home/user/images/centos7.tar, nous pouvons exécuter la commande suivante :
docker import /home/user/images/centos7.tar centos:7
Cette commande importera le fichier centos7.tar en tant que centos : 7 images. Si nous voulons spécifier le numéro de version de l'image comme v1, nous pouvons exécuter la commande suivante :
docker import /home/user/images/centos7.tar centos:v1
Si nous avons téléchargé l'image Docker enregistrée depuis Docker Hub ou d'autres entrepôts d'images, nous pouvons charger l'image via la commande de chargement pour les images Docker. La syntaxe de cette commande est la suivante :
docker load [OPTIONS] < file.tar
Parmi eux, OPTIONS est un paramètre facultatif, et file.tar est le chemin du package tar à charger.
Par exemple, si nous voulons charger deux images centos:7 et nginx:latest depuis /home/user/images/images.tar, nous pouvons exécuter la commande suivante :
docker load -i /home/user/images/images.tar
Cette commande chargera les deux images dans le Fichier images.tar centos:7 et nginx:latest. Une fois le chargement terminé, nous pouvons utiliser ces deux images sur l'hôte local.
3. Résumé
Cet article présente principalement la sauvegarde, l'importation et le chargement des images Docker. Grâce à ces méthodes, nous pouvons facilement gérer et partager des images Docker et améliorer l'efficacité du déploiement et de la livraison des applications.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!