Table des matières
Quelles sont les méthodes de montage de docker
Transmettez d'abord la commande docker run
2 Créez un point de montage via dockerfile
Volume partagé à trois conteneurs (point de montage)
Quatre bonnes pratiques : conteneur de données
Maison Opération et maintenance Docker Quelles sont les méthodes de montage pour Docker ?

Quelles sont les méthodes de montage pour Docker ?

Jan 28, 2022 am 10:23 AM
docker

Méthode : 1. Utilisez la commande run, la syntaxe est "docker run --name test1 -it -v" ; 2. Utilisez l'instruction VOLUME de dockerfile pour créer un point de montage, la syntaxe est "VOLUME ["/data1 ","/data2 "]"; 3. Utilisez les volumes partagés du conteneur.

Quelles sont les méthodes de montage pour Docker ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, version docker-1.13.1, ordinateur Dell G3.

Quelles sont les méthodes de montage de docker

Avant d'introduire l'instruction VOLUME, examinons les exigences du scénario suivantes :

1 Le conteneur est créé sur la base de l'image et le système de fichiers du conteneur final inclut le fichier de lecture. seule la couche de l'image + peut Dans la couche d'écriture, la persistance des données des opérations de processus dans le conteneur est stockée dans la couche inscriptible du conteneur. Une fois le conteneur supprimé, les données disparaissent à moins que nous ne les sauvegardions manuellement (ou créions une nouvelle image basée sur le conteneur). Les données conservées par le processus conteneur peuvent-elles être enregistrées sur l'hôte ? De cette façon, même si le conteneur est supprimé, les données sont toujours là.

2. Lorsque nous développons une application Web, l'environnement de développement est local sur l'hôte, mais l'environnement de test en cours d'exécution est placé sur le conteneur Docker.

Dans ce cas, après avoir modifié les fichiers (tels que html, js, etc.) sur l'hôte, je dois les synchroniser avec le conteneur. C'est évidemment plus gênant.

3. Plusieurs conteneurs exécutent un ensemble de services associés. Et s'ils souhaitent partager certaines données ?

Bien sûr, nous pouvons penser à diverses solutions à ces problèmes. Docker lui-même fournit un mécanisme qui peut associer un répertoire sur l'hôte à un répertoire dans le conteneur (appelé point de montage ou volume). Le contenu sous le point de montage sur le conteneur est l'hôte. Le contenu du répertoire est similaire à celui-ci. le mécanisme de montage sous les systèmes Linux. Dans ce cas, lorsque nous modifions le contenu du répertoire sur l'hôte, nous n'avons pas besoin de synchroniser le conteneur, et cela prendra effet immédiatement pour le conteneur. Les points de montage peuvent être partagés par plusieurs conteneurs.

Présentons le mécanisme de mise en œuvre spécifique.

Transmettez d'abord la commande docker run

1. Exécutez la commande : docker run --name test -it -v /home/xqh/myimage:/data ubuntu /bin/bash

L'indicateur -v est défini dans le conteneur Un point de montage /data (qui est un répertoire dans le conteneur) et associe le contenu du répertoire /home/xqh/myimage sur l'hôte à /data.

De cette façon, les opérations sur le répertoire /data dans le conteneur et les opérations sur /home/xqh/myimage sur l'hôte sont complètement synchronisées en temps réel, car ces deux répertoires pointent en réalité vers le répertoire hôte.

2. Exécutez la commande : docker run --name test1 -it -v /data ubuntu /bin/bash

L'indicateur -v ci-dessus définit uniquement le point de montage du conteneur et ne spécifie pas le répertoire hôte associé. À ce stade, Docker liera automatiquement un répertoire sur l'hôte. Vous pouvez le visualiser via la commande docker inspect.

xqh@ubuntu:~/myimage$ docker inspect test1
[
{
    "Id": "1fd6c2c4bc545163d8c5c5b02d60052ea41900a781a82c20a8f02059cb82c30c",
.............................
    "Mounts": [
        {
            "Name": "0ab0aaf0d6ef391cb68b72bd8c43216a8f8ae9205f0ae941ef16ebe32dc9fc01",
            "Source": "/var/lib/docker/volumes/0ab0aaf0d6ef391cb68b72bd8c43216a8f8ae9205f0ae941ef16ebe32dc9fc01/_data",
            "Destination": "/data",
            "Driver": "local",
            "Mode": "",
            "RW": true
        }
    ],
Copier après la connexion

Chaque information sous Mounts ci-dessus enregistre les informations d'un point de montage sur le conteneur. La valeur "Destination" est le point de montage du conteneur et la valeur "Source" est le répertoire hôte correspondant. On voit que le répertoire hôte correspondant à cette méthode est automatiquement créé. Son but n'est pas de le modifier sur l'hôte, mais de le partager avec plusieurs conteneurs.

2 Créez un point de montage via dockerfile

Le point de montage créé via l'indicateur -v de la commande docker run décrite ci-dessus ne peut être valide que pour le conteneur créé. Un point de montage peut être créé dans l'image via la directive VOLUME du fichier docker, de sorte que tout conteneur créé via l'image ait un point de montage. Une autre différence est que le point de montage créé via la commande VOLUME ne peut pas spécifier le répertoire correspondant sur l'hôte et est automatiquement généré.

#test
FROM ubuntu
MAINTAINER hello1
VOLUME ["/data1","/data2"]
Copier après la connexion

Le fichier dock ci-dessus spécifie deux points de montage /data1 et /data2 via l'instruction VOLUME.

Nous utilisons docker inspect pour afficher le conteneur généré par l'image créée par ce fichier docker, et nous pouvons voir les informations suivantes

"Mounts": [
    {
        "Name": "d411f6b8f17f4418629d4e5a1ab69679dee369b39e13bb68bed77aa4a0d12d21",
        "Source": "/var/lib/docker/volumes/d411f6b8f17f4418629d4e5a1ab69679dee369b39e13bb68bed77aa4a0d12d21/_data",
        "Destination": "/data1",
        "Driver": "local",
        "Mode": "",
        "RW": true
    },
    {
        "Name": "6d3badcf47c4ac5955deda6f6ae56f4aaf1037a871275f46220c14ebd762fc36",
        "Source": "/var/lib/docker/volumes/6d3badcf47c4ac5955deda6f6ae56f4aaf1037a871275f46220c14ebd762fc36/_data",
        "Destination": "/data2",
        "Driver": "local",
        "Mode": "",
        "RW": true
    }
],
Copier après la connexion

Oui Voir les informations sur les deux points de montage.

Volume partagé à trois conteneurs (point de montage)

Ensuite, nous créons un autre conteneur qui peut partager les volumes /data1 et /data2 avec test1 (conteneur déjà créé). Cela se fait en utilisant l'indicateur --volumes-from dans le docker. run. , tel que :

peut provenir de différentes sources, telles que :

docker run --name test2 -it --volumes-from test1 ubuntu /bin/bash
Copier après la connexion

, ou il peut s'agir de la même image, telle que :

docker run --name test3 -it --volumes-from test1 myimage /bin/bash
Copier après la connexion

Les trois conteneurs ci-dessus test1, test2, test3 ont tous deux répertoires /data1. et /data2, et le répertoire Le contenu est partagé Si un conteneur modifie le contenu, d'autres conteneurs peuvent l'obtenir.

Quatre bonnes pratiques : conteneur de données

Si plusieurs conteneurs doivent partager des données (comme des bases de données persistantes, des fichiers de configuration ou des fichiers de données, etc.), vous pouvez envisager de créer un conteneur de données spécifique avec 1 ou plusieurs volumes.

D'autres conteneurs partagent les volumes de ce conteneur de données via –volumes-from.

Le volume du conteneur correspondant essentiellement au répertoire sur l'hôte, ce conteneur de données n'a pas besoin d'être démarré.

Par exemple : docker run --name dbdata myimage echo « data containers »

Explication : Il y a un volume, le partage de données entre les conteneurs est plus pratique, mais il y a aussi de nombreux problèmes qui doivent être résolus, comme le contrôle des autorisations , sauvegarde de données, suppression de volume, etc. Ces contenus seront introduits dans les articles suivants.

Apprentissage recommandé : "Tutoriel vidéo 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

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.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

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 lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

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.

Comment créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

É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 Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

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).

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

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)

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

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").

Comment afficher les journaux de Docker Comment afficher les journaux de Docker Apr 15, 2025 pm 12:24 PM

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Comment changer la source d'image Docker en Chine Comment changer la source d'image Docker en Chine Apr 15, 2025 am 11:30 AM

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.

Comment enregistrer l'image docker Comment enregistrer l'image docker Apr 15, 2025 am 11:54 AM

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].

See all articles