Maison Opération et maintenance Docker Quelle est la différence entre la sauvegarde Docker et l'exportation Docker ?

Quelle est la différence entre la sauvegarde Docker et l'exportation Docker ?

Jun 17, 2020 pm 05:44 PM

Quelle est la différence entre la sauvegarde Docker et l'exportation Docker ?

Tout d'abord, expliquons respectivement Docker Save et Docker Export :

Docker Save

interface de ligne de commande de Docker La conception est très élégant, et l'aide pour de nombreuses commandes peut être consultée directement en ajoutant --help à la fin.

L'aide de docker save est la suivante :

>docker save --help
Usage:  docker save [OPTIONS] IMAGE [IMAGE...]
Save one or more images to a tar archive (streamed to STDOUT by default)
Options:
      --help            Print usage
  -o, --output string   Write to a file, instead of STDOUT

Comme le montre l'aide en ligne de commande, docker save est un outil utilisé pour empaqueter et enregistrer une ou plusieurs images.

Par exemple, si nous voulons empaqueter postgres et mongo dans la bibliothèque d'images, nous pouvons exécuter :

docker save -o images.tar postgres:9.6 mongo:3.4

Le images.tar empaqueté contient les deux images de postgres:9.6 et mongo:3.4 .

Bien que les paramètres de ligne de commande nécessitent que l'image soit spécifiée, le conteneur peut en fait être empaqueté, par exemple :

>docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
3623943d369f        postgres:9.6        "docker-entrypoint..."   3 hours ago         Up 3 hours          5432/tcp            postgres
>docker save -o b.tar postgres
>docker save -o c.tar postgres:9.6
>ls -al
-rwxrwxrwx 1 root root 277886464 8月  26 14:40 b.tar
-rwxrwxrwx 1 root root 277886464 8月  26 14:41 c.tar

Comme vous pouvez le voir dans la commande ci-dessus, b.tar et c. tar sont exactement les mêmes. Cela montre que si docker save spécifie un conteneur, docker save enregistrera l'image derrière le conteneur.

Chargez l'image empaquetée à l'aide de docker load, par exemple :

docker load -i images.tar

La commande ci-dessus chargera postgres:9.6 et mongo:3.4 Si la bibliothèque d'images locale Ces deux images existent déjà. et sera écrasé.

Le scénario d'application de docker save est le cas si votre application est une combinaison de plusieurs images disposées à l'aide de docker-compose.yml, mais que le serveur client que vous souhaitez déployer ne peut pas se connecter au réseau externe. À ce stade, vous pouvez utiliser Docker Save pour empaqueter l'image utilisée, puis la copier sur le serveur client et utiliser Docker Load pour la charger.

docker export

Comme d'habitude, vérifiez l'aide de docker export :

>docker export --help
Usage:  docker export [OPTIONS] CONTAINER
Export a container's filesystem as a tar archive
Options:
      --help            Print usage
  -o, --output string   Write to a file, instead of STDOUT

Comme le montre l'aide, docker export est utilisé pour convertir les fichiers conteneurs Le système est packagé. Par exemple :

docker export -o postgres-export.tar postgres

Docker export doit spécifier le conteneur et ne peut pas spécifier d'image ou de conteneur comme Docker Save.

Chargez le conteneur empaqueté à l'aide de docker import, par exemple :

docker import postgres-export.tar postgres:latest

Comme le montre la commande ci-dessus, docker import deviendra une image après l'importation du conteneur, pas une restauration vers un conteneur.

Un autre point est que l'importation Docker peut spécifier IMAGE[:TAG], ce qui signifie que nous pouvons spécifier un nouveau nom pour l'image. Si une image portant le même nom existe déjà dans la bibliothèque d'images locale, le nom de l'image d'origine sera supprimé et attribué à la nouvelle image. L'image originale deviendra un fantôme et ne pourra être utilisée que via IMAGE ID.

Le scénario d'application de Docker Export est principalement utilisé pour créer une image de base. Par exemple, vous démarrez un conteneur à partir d'une image Ubuntu, puis installez un logiciel et effectuez certains réglages, puis utilisez Docker Export pour l'enregistrer. comme image de base. Ensuite, distribuez cette image à d'autres personnes pour qu'elles puissent l'utiliser, par exemple en tant qu'environnement de développement de base.

La différence entre Docker Save et Docker Export

  • Docker Save enregistre l'image (image) et Docker Export enregistre le conteneur (conteneur) ;

  • docker load est utilisé pour charger le package d'image, et docker import est utilisé pour charger le package de conteneur, mais les deux seront restaurés dans l'image

  • Docker Load ne peut pas renommer l'image chargée, mais Docker Import peut spécifier un nouveau nom pour l'image.

Tutoriel recommandé : 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Oguri Cap Build Guide | Un joli Musume Derby
3 Il y a quelques semaines By Jack chen
Guide de construction d'Agnes Tachyon | Un joli Musume Derby
3 Il y a quelques semaines By Jack chen
Guide de construction de Grass Wonder | Uma musume joli derby
2 Il y a quelques semaines By Jack chen
Pic comment émoter
4 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment créez-vous un pilote de réseau Docker personnalisé? Comment créez-vous un pilote de réseau Docker personnalisé? Jun 25, 2025 am 12:11 AM

Pour créer un pilote de réseau Docker personnalisé, vous devez écrire un plugin Go qui implémente l'API NetworkDriverPlugin et communiquer avec Docker via Unix Sockets. 1. Comprenez d'abord les bases du plug-in Docker, et le pilote réseau s'exécute comme un processus indépendant; 2. Configurez l'environnement de développement GO et créez un serveur HTTP qui écoute les sockets Unix; 3. Implémentez les méthodes API requises telles que Plugin.activate, getCapabilities, CreenEnetwork, etc. et renvoyez la réponse JSON correcte; 4. Enregistrez le plug-in à / Run / Docker / Plugins / Directory et passez le dockernetwork

Qu'est-ce que Docker Compose et quand devriez-vous l'utiliser? Qu'est-ce que Docker Compose et quand devriez-vous l'utiliser? Jun 24, 2025 am 12:02 AM

La fonction principale de DockerCompose est de démarrer plusieurs conteneurs en un seul clic et de gérer automatiquement les dépendances et les connexions réseau entre eux. Il définit les services, les réseaux, les volumes et autres ressources via un fichier YAML, réalise l'orchestration du service (1), crée automatiquement un réseau interne pour rendre les services interopérables (2), prend en charge la gestion du volume de données pour persister des données (3), et implémente la réutilisation et l'isolement de la configuration via différents profils (4). Convient à la construction de l'environnement de développement local (1), à la vérification préliminaire de l'architecture microservice (2), à l'environnement de test en IC / CD (3) et au déploiement autonome de petites applications (4). Pour commencer, vous devez installer Docker et son plugin Compose (1), créer un répertoire de projet et écrire Docker-Compose

Comment créez-vous un volume Docker? Comment créez-vous un volume Docker? Jun 28, 2025 am 12:51 AM

Une façon courante de créer un volume Docker consiste à utiliser la commande dockervolumecreate et à spécifier le nom de volume. Les étapes incluent: 1. Créez un volume nommé à l'aide de dockervolume-créatemy-volume; 2. Montez le volume dans le conteneur via Dockerrun-vmy-volume: / path / in / conteneur; 3. Vérifiez le volume à l'aide de Dockervolumels et nettoyez les volumes inutiles avec Dockervolumeprune. De plus, le volume anonyme ou le support de liaison peut être sélectionné. Le premier génère automatiquement un ID par Docker, et le second mappe le répertoire hôte directement dans le conteneur. Notez que les volumes ne sont valides que localement et que des solutions de stockage externes sont nécessaires sur les nœuds.

Comment spécifiez-vous les variables d'environnement dans un conteneur Docker? Comment spécifiez-vous les variables d'environnement dans un conteneur Docker? Jun 28, 2025 am 12:22 AM

Il existe trois façons courantes de définir des variables d'environnement dans un conteneur Docker: utilisez l'indicateur -e, définissez les instructions env dans un dockerfile ou gérez-les via DockerCompose. 1. L'ajout de l'indicateur -e lors de l'utilisation de Dockerrun peut passer directement des variables, ce qui convient aux tests temporaires ou à l'intégration CI / CD; 2. Utilisation d'env dans dockerfile pour définir des valeurs par défaut, qui conviennent aux variables fixes qui ne sont pas souvent modifiées, mais ne conviennent pas pour distinguer différentes configurations d'environnement; 3. DockerCompose peut définir des variables via des blocs d'environnement ou des fichiers .env, ce qui est plus propice à la collaboration et à la séparation de configuration du développement, et prend en charge le remplacement variable. Choisissez la bonne méthode en fonction des besoins du projet ou utilisez plusieurs méthodes en combinaison

Que sont les conteneurs Docker et comment sont-ils gérés? Que sont les conteneurs Docker et comment sont-ils gérés? Jul 01, 2025 am 12:13 AM

Les conteneurs Docker sont un moyen léger et portable d'emballer les applications et leurs dépendances ensemble pour s'assurer que les applications s'exécutent de manière cohérente dans différents environnements. L'exécution d'instances créées en fonction des images permet aux développeurs de démarrer rapidement les programmes via des "modèles". Exécutez la commande dockerrun couramment utilisée dans les conteneurs. Les étapes spécifiques incluent: 1. Installer Docker; 2. Obtenez ou construisez un miroir; 3. Utilisez la commande pour démarrer le conteneur. Les conteneurs partagent des grains d'hôte, sont plus légers et plus rapides à démarrer que les machines virtuelles. Les débutants recommandent de commencer par l'image officielle, en utilisant Dockerps pour afficher l'état de course, en utilisant Dockerlogs pour afficher les journaux et nettoyer régulièrement les ressources pour optimiser les performances.

Comment utilisez-vous Docker System Prune pour nettoyer les ressources inutilisées? Comment utilisez-vous Docker System Prune pour nettoyer les ressources inutilisées? Jun 27, 2025 am 12:33 AM

DockersystemRune est une commande pour nettoyer les ressources inutilisées qui suppriment les conteneurs arrêtés, les réseaux inutilisés, les images pendantes et la création de caches. 1. Exécutez DockersystemRune par défaut pour nettoyer le miroir suspendu et demander la confirmation; 2. Ajouter le paramètre -f à la confirmation de sauter; 3. Utiliser - Tout pour supprimer toutes les images inutilisées; 4. Utiliser - Viltre pour nettoyer le cache à l'heure; 5. Exécutez cette commande régulièrement pour aider à maintenir l'environnement propre et éviter un espace disque insuffisant.

Quel est le but de l'instruction d'exposition dans un dockerfile? Quel est le but de l'instruction d'exposition dans un dockerfile? Jul 01, 2025 am 12:45 AM

Expose est utilisé dans Dockerfile pour déclarer le port réseau que le conteneur écoutera à l'exécution, mais il ne sera pas publié automatiquement à l'hôte. Son rôle principal est de fournir des conseils de documentation et de configuration pour aider les développeurs et les outils à comprendre les ports utilisés par l'application. Pour rendre le port accessible de l'extérieur, vous devez toujours utiliser le paramètre -p pour mapper lors de l'exécution du conteneur, par exemple: Dockerrun-P8080: 80my-web-app. Les principales raisons d'utiliser l'Expose comprennent l'amélioration de la clarté, la prise en charge de l'intégration des outils et les meilleures pratiques. Les conteneurs peuvent accéder directement à les ports exposés l'un de l'autre dans le même réseau personnalisé, mais pour y accéder sur l'hôte, les ports doivent être publiés explicitement. Une erreur courante est que vous oubliez de cartographier le port lors de l'exécution du conteneur, ce qui fait échouer le service.

En quoi Docker diffère-t-il de la virtualisation traditionnelle? En quoi Docker diffère-t-il de la virtualisation traditionnelle? Jul 08, 2025 am 12:03 AM

La principale différence entre Docker et la virtualisation traditionnelle réside dans le traitement et l'utilisation des ressources de la couche du système d'exploitation. 1. Les conteneurs Docker partagent le noyau OS hôte, qui est plus léger, le démarrage plus rapide et plus d'efficacité des ressources; 2. Chaque instance d'une machine virtuelle traditionnelle gère un système d'exploitation complet, occupant plus d'espace et de ressources; 3. Le conteneur commence généralement en quelques secondes, et la machine virtuelle peut prendre plusieurs minutes; 4. Le conteneur dépend de l'espace de noms et des CGROUPS pour obtenir l'isolement, tandis que la machine virtuelle obtient un isolement plus fort grâce au matériel de simulation de l'hyperviseur; 5. Docker a une meilleure portabilité, garantissant que les applications s'exécutent de manière cohérente dans différents environnements, adaptés aux microservices et au déploiement de l'environnement cloud.

See all articles