Table des matières
Qu'est-ce qu'un volume de données ?
Caractéristiques des volumes de données
Données de gestion dans le conteneur
Commande docker commune cp
Volumes de données Docker
数据卷容器
Maison Opération et maintenance Docker Le tutoriel le plus détaillé sur l'organisation des volumes de données Docker

Le tutoriel le plus détaillé sur l'organisation des volumes de données Docker

Feb 23, 2022 pm 05:32 PM
docker

Cet article vous apporte des connaissances pertinentes sur les volumes de données dans docker. Les volumes de données peuvent partager ou réutiliser des données entre conteneurs. Les modifications des volumes de données ne seront pas incluses dans la mise à jour de l'image. aide.

Le tutoriel le plus détaillé sur l'organisation des volumes de données Docker

Étude recommandée : "Tutoriel vidéo Docker"

Qu'est-ce qu'un volume de données ?

Lors de l'utilisation d'un conteneur Docker, une série de fichiers de données seront générés lorsque le conteneur Docker. est supprimé, mais une partie du contenu généré devrait être enregistrée pour une autre utilisation. Docker regroupe l'application et l'environnement d'exécution dans des conteneurs pour la publication. Les programmeurs espèrent que certaines des données générées pendant le processus en cours pourront être conservées. pour pouvoir partager des données entre conteneurs.

D'une manière générale, le volume de données du conteneur Docker peut être considéré comme un disque USB couramment utilisé. Il existe dans un ou plusieurs conteneurs et est monté sur le conteneur par Docker. Cependant, il n'appartient pas au système de fichiers commun et Docker le fera. ne le supprimez pas dans le conteneur. Supprimez son volume de données monté.

Caractéristiques des volumes de données

Les volumes de données peuvent partager ou réutiliser des données entre conteneurs

Les modifications du volume de données peuvent prendre effet immédiatement

Les modifications du volume de données ne seront pas incluses dans la mise à jour du miroir

Par défaut, le volume de données existera toujours, même si le conteneur est supprimé

Le cycle de vie du volume de données continue jusqu'à ce qu'aucun conteneur ne l'utilise

Données de gestion dans le conteneur

Volumes de données : volumes de données Les données du conteneur sont directement mappées à l'environnement hôte local

Conteneur de volume de données : Conteneurs de volume de données Utilisez des conteneurs spécifiques pour maintenir les volumes de données

Commande docker commune cp

Syntaxe

Copier les fichiers hôte dans le conteneur

docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
Copier après la connexion

Copier les fichiers du conteneur vers l'hôte

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
Copier après la connexion

Paramètres communs

-L : Conserver les liens source dans la cible

Utilisation de base

Copier les fichiers de l'hôte dans le conteneur

docker cp /data/index.html nginx:/usr/share/nginx/html/index.html
Copier après la connexion

Copier les fichiers du conteneur vers l'hôte

docker cp nginx:/etc/nginx/nginx.conf /data
Copier après la connexion

Volumes de données Docker

Volumes de données (Data Volumes) sont disponibles pour un ou plusieurs conteneurs. Répertoire spécial utilisé qui mappe le répertoire du système d'exploitation hôte directement dans le conteneur.

Remarques sur les volumes de données

Pour monter un volume de données, il est préférable de créer un conteneur de démarrage via run au lieu de create/start. Une fois que la commande create/start a créé un conteneur de démarrage, il est assez difficile de monter le conteneur. volume de données. De nombreuses configurations doivent être modifiées, mais ce n'est pas impossible.

Le site officiel de Docker recommande de monter autant que possible des répertoires au lieu de monter des fichiers

Type de volume de données

Volume de données de l'hôte : directement dans le système de fichiers de l'hôte mais accessible par le conteneur (montage de liaison)

nommé Data volume : Un volume de données géré par Docker sur le disque, mais ce volume a un nom.

Volume de données anonyme : Un volume de données géré par Docker sur le disque Il n'est pas facile à trouver car il n'y a pas de nom pour gérer ces fichiers.

Volume de données hôte

montages de liaison : les données du conteneur sont stockées n'importe où dans le système de fichiers hôte, même dans certains répertoires ou fichiers système importants. Des processus autres que Docker peuvent également les modifier arbitrairement.

Lors de l'utilisation de montages de liaison, le répertoire ou le fichier hôte est monté dans le conteneur. Le conteneur utilisera ou modifiera les données de l'hôte en fonction du chemin absolu du répertoire ou du fichier de montage. Les répertoires ou fichiers de l'hôte n'ont pas besoin d'exister à l'avance et seront automatiquement créés en cas de besoin.

L'utilisation des montages de liaison est très bonne en termes de performances, mais cela dépend de la machine hôte disposant d'un système de fichiers bien structuré.

Les conteneurs utilisant des montages de liaison peuvent modifier le système de fichiers hôte via le processus à l'intérieur du conteneur, y compris la création, la modification et la suppression de fichiers et de répertoires système importants. Bien que cette fonction soit très puissante, elle aura évidemment également des implications en matière de sécurité. que Docker sur l'hôte

Notes

Si vous montez un volume de données vide sur un répertoire non vide du conteneur, les fichiers de ce répertoire seront copiés sur le volume de données

Si vous montez un volume de données non vide sur un répertoire dans le conteneur, et le répertoire dans le conteneur affichera les données dans le volume de données. S'il y a des données dans le répertoire d'origine du conteneur, les données d'origine seront masquées

Utilisation de base

Syntaxe

docker run -v /宿主机绝对路径目录:/容器内目录 镜像名
Copier après la connexion

Utilisation de base

docker run -itd --name mysql --restart always --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin
-v /data/mysql:/var/lib/mysql mysql:5.7.31 --character-set-server=utf8 --collation-server=utf8_general_ci
Copier après la connexion

Autorisations du répertoire du conteneur

Pass -v Chemin dans le conteneur : ro rw Change read et autorisations d'écriture ro :readonly Lecture seule

rw:readwrite Lisible et inscriptible

docker run -it -v /Répertoire du chemin absolu de l'hôte :/Répertoire du conteneur :ro nom de l'image

docker run -it -v /Répertoire du chemin absolu de l'hôte :/Répertoire dans le conteneur : rw Nom de l'image

Par exemple :

docker run -d -P --name nginx05 -v nginx1:/etc/nginx:ro nginx
docker run -d -P --name nginx05 -v nginx2:/etc/nginx:rw nginx
Copier après la connexion

ro Tant que vous voyez ro, cela signifie que ce chemin ne peut être exploité que via l'hôte et ne peut pas être exploité à l'intérieur du conteneur !

Volume de données nommé

Basic Utilisez

docker run -itd --name nginx -p 80:80 -v lagouedu-nginx:/etc/nginx nginx:1.19.3-
Copier après la connexion

alpine

pour afficher le volume de données docker docker volume ls

Afficher le répertoire hôte lagouedu-nginx

docker volume inspect lagouedu-nginx
Copier après la connexion

Entrez le répertoire par défaut du volume de données docker

cd /var/lib/docker/volumes/lagouedu-nginx
Copier après la connexion

Afficher les fichiers

ls

Tous les fichiers sont enregistrés dans Docker par défaut_ cd _data dans le répertoire de données

supprimez le conteneur

docker rm $(docker stop $(docker ps -aq))
Copier après la connexion
Copier après la connexion

查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在

ls

匿名数据卷

基本使用

docker run -itd --name nginx -p 80:80 -v /etc/nginx nginx:1.19.3-alpine 查看docker数据卷
docker volume ls
Copier après la connexion

查看宿主机目录

docker volume inspect dbd07daa4e40148b11....
Copier après la connexion

进入docker数据卷默认目录

cd /var/lib/docker/volumes/dbd07daa4e40148b11....
Copier après la connexion

查看文件

ls

所有的文件docker默认保存在_data目录中 cd _data

删除容器

docker rm $(docker stop $(docker ps -aq))
Copier après la connexion
Copier après la connexion

查看挂载数据是否还存在,通过查看数据,发现删除容器后,宿主机中的数据还存在

ls

数据卷容器

run命令

常用参数

--volumes-from

如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器

也是一个容器,但是它的目的是专门用来提供数据卷供其他容器挂载。

发现创建好的数据卷容器是处于停止运行的状态,因为使用 —volumes-from 参数所挂载数据卷的容器 自己并不需要保持在运行状态。

Le tutoriel le plus détaillé sur lorganisation des volumes de données Docker

基本使用

docker run -d --name data-volume -v /data/nginx:/usr/share/nginx/html -v
/data/mysql:/var/lib/mysql centos:7.8.2003
docker run -itd --name nginx01 -p 80:80 --volumes-from data-volume nginx:1.19.3-
alpine
echo "nginx" > /data/nginx/index.html
http://192.168.198.100
docker run -itd --name nginx02 -p 81:80 --volumes-from data-volume nginx:1.19.3-
alpine
http://192.168.198.100:81
docker run -itd --name mysql01 --restart always --privileged=true -p 3306:3306
 -e MYSQL_ROOT_PASSWORD=admin --volumes-from data-volume mysql:5.7.31 --
character-set-server=utf8 --collation-server=utf8_general_ci
docker run -itd --name mysql02 --restart always --privileged=true -p 3307:3306
 -e MYSQL_ROOT_PASSWORD=admin --volumes-from data-volume mysql:5.7.31 --
character-set-server=utf8 --collation-server=utf8_general_ci
Copier après la connexion

推荐学习:《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

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 !

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 sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

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.

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 redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment démarrer MySQL par Docker Comment démarrer MySQL par Docker Apr 15, 2025 pm 12:09 PM

Le processus de démarrage de MySQL dans Docker se compose des étapes suivantes: Tirez l'image MySQL pour créer et démarrer le conteneur, définir le mot de passe de l'utilisateur racine et mapper la connexion de vérification du port Créez la base de données et l'utilisateur accorde toutes les autorisations sur la base de données

Comment afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

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

See all articles