


Que signifient l'importation et l'exportation d'images Docker ?
Dans Docker, l'importation d'images utilise la commande "load [options]" pour copier l'image actuelle dans une nouvelle image ; l'exportation d'images utilise la commande "save [options] images" pour enregistrer toutes les images, y compris les informations d'historique.
L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.
Que signifient l'importation et l'exportation d'images Docker ?
Avec le développement de la technologie des conteneurs, de nombreux systèmes d'application choisissent désormais d'utiliser des conteneurs Docker pour le déploiement, mais vous rencontrerez parfois des problèmes lors de l'utilisation de conteneurs Docker pour le déploiement, tels que a déclaré que notre application doit s'appuyer sur d'autres images tierces. Si le serveur ne peut pas se connecter au réseau externe à partir du réseau interne pour le moment, il ne sera pas déployé. Sur la base de cette situation, Docker prend officiellement en charge l'importation et l'exportation d'images et de conteneurs Docker. Nous pouvons compiler l'image sur une machine ayant accès à Internet, puis exporter l'image ou le conteneur, et enfin télécharger l'image ou le conteneur exporté sur le serveur intranet. puis importez l'image ou le conteneur et c'est tout.
Les opérations d'importation et d'exportation d'images et de conteneurs impliquent principalement les commandes suivantes : enregistrer, charger, exporter et importer.
Pendant la démonstration, nous avons généré l'image ou le conteneur localement, puis exporté l'image ou le conteneur, et enfin l'avons téléchargé sur le serveur Alibaba Cloud pour démontrer la fonction d'importation.
Nous utilisons VS 2019 pour créer un projet ASP.NET Core MVC, ajoutons le fichier Dockerfile :
# 使用运行时镜像 FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim # 设置工作目录 WORKDIR /app # 把目录下的内容都复制到当前目录下 COPY . . # 暴露80端口 EXPOSE 80 # 运行镜像入口命令和可执行文件名称 ENTRYPOINT ["dotnet", "DockerDemo.dll"]
puis publions le projet. Lorsque nous regardons les images Docker existantes
, nous pouvons voir qu'il n'y a que deux images principales .net. Nous générons l'image :
docker build -t dockerdemo .
Comme indiqué ci-dessous :
Affichez l'image générée
Ensuite, nous exécutons le conteneur en fonction de l'image générée, vérifions d'abord le conteneur existant :
OK Voir qu'il n'y a pas de conteneurs pour le moment. Nous exécutons le conteneur :
Vous pouvez voir que le conteneur s'est exécuté avec succès.
2. Importation et exportation d'images Docker
1. Exportation d'images Docker
Commandes impliquées :
docker save [options] images [images...]
Nous utilisons l'image ci-dessus pour démontrer l'exportation de l'image :
docker save -o dockerdemo.tar dockerdemo
Comme le montre la figure ci-dessous :
Le chemin du fichier exporté est spécifié lors de l'exportation. Si le chemin n'est pas spécifié, la valeur par défaut est le dossier actuel.
Ou vous pouvez utiliser la commande suivante pour exporter :
docker save > dockerdemo.tar dockerdemo
où -o et > indiquent la sortie vers un fichier, dockerdemo.tar est le fichier cible exporté et dockerdemo est le nom de l'image source.
Nous vérifions s'il y a un fichier exporté localement :
Vous pouvez voir que le fichier qui vient d'être exporté est déjà sous le répertoire.
2. Importation de l'image docker
Nous utilisons d'abord XFtp pour télécharger le fichier image exporté ci-dessus sur le serveur Alibaba Cloud
Ensuite, entrez dans le répertoire où se trouve le fichier
Nous vérifions quelles sont les images sur le serveur Alibaba Cloud :
Comme vous pouvez le voir sur l'image ci-dessus : Il n'y a pas de miroirs sur le serveur Alibaba Cloud.
La commande d'importation impliquée est load
docker load [options]
Ensuite, nous importons l'image que nous venons de télécharger.
docker load -i dockerdemo.tar
Comme le montre la figure ci-dessous :
Ou vous pouvez également utiliser la commande suivante
docker load < dockerdemo.tar
où -i (i signifie importer) et < Les deux commandes ci-dessus importeront avec succès l'image et les métadonnées associées, y compris les informations sur les balises.
Affichez l'image après l'importation :
Vous pouvez voir que nous avons l'image que nous venons d'importer. Après avoir importé l'image, vous pouvez exécuter le conteneur basé sur l'image et enfin exécuter l'application.
3. Importation et exportation de conteneurs Docker
Ensuite, nous démontrons l'importation et l'exportation de conteneurs.
1. L'exportation du conteneur Docker
implique la commande export.
docker export [options] container
Nous exportons le conteneur généré ci-dessus :
docker export -o D:\containers\dockerdemocontainer.tar dockerdemo
Comme le montre la figure ci-dessous :
其中,-o表示输出的文件,这里指定了输出的路径,如果没有指定路径,则默认生成到当前文件夹。dockerdemocontainer.tar为目标文件,dockerdemo为源容器名。
我们查看目录下面是否生成了导出的容器:
2、docker容器的导入
我们首先把导出的容器使用XFTP上传到阿里云服务器。
涉及到的导入命令import。
docker import [options] file|URL|- [REPOSITORY[:TAG]]
如下图所示
我们导入刚才上传的容器
docker import dockerdemocontainer.tar dockerdemo:imp
dockerdemocontainer.tar表示要导入的容器,dockerdemo:imp表示导入后的镜像名称,imp表示给导入的镜像打tag。
如下图所示
然后我们查看镜像:
可以看到这时有我们刚才导入的镜像了,导入的镜像tag为imp。
四、总结
下面我们来总结一下镜像和容器导入导出的区别:
- 镜像导入是一个复制的过程,容器导入是将当前容器变成一个新的镜像。
- docker save命令保存的是镜像(image),docker export命令保存的是容器(container)。
- export命令导出的tar文件略小于save命令导出的。
- 因为export导出的是容器,export导出的文件在import导入时,无法保留镜像所有的历史(即每一层layer信息),不能进行回滚操作。而save是根据镜像来的,所以导入时可以完整保留下每一层layer信息。如下图所示:dockerdemo:latest是save导出load导入的,dockerdemo:imp是export导出import导入的。
docker load不能对导入的镜像重命名,而docker import导入可以为镜像指定新名称。例如,上面导入的时候指定dockerdeom:imp。
对于是使用镜像导入导出还是使用容器导入导出该如何选择呢?有下面两点建议:
- 若是只想备份image,使用save和load。
- 若是在启动容器后,容器内容有变化,需要备份,则使用export和import。
推荐学习:《docker视频教程》
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.
