Linux et Docker : Comment effectuer le stockage persistant et la gestion des données des conteneurs ?
Dans l'application de la technologie de conteneurisation, le stockage persistant et la gestion des données des conteneurs constituent un élément très important. Cet article explique comment implémenter le stockage persistant de conteneurs sous Linux et Docker et fournit des exemples de code correspondants.
1. Stockage persistant des conteneurs dans Docker
Dans Docker, les conteneurs sont créés via des images et les images elles-mêmes sont en lecture seule. Par conséquent, lorsque le conteneur est supprimé, les données qu’il contient seront également perdues. Afin d'implémenter le stockage persistant des conteneurs, nous pouvons utiliser les méthodes suivantes.
Le volume de données est l'une des méthodes de stockage persistant les plus couramment utilisées dans Docker. En créant un volume de données et en le montant sur le chemin spécifié du conteneur, nous pouvons réaliser un stockage persistant des données du conteneur.
Tout d'abord, nous créons un volume de données :
$ docker volume create myvolume
Ensuite, nous pouvons monter le volume de données dans le conteneur via la commande docker run
, comme indiqué ci-dessous : docker run
命令将数据卷挂载到容器中,如下所示:
$ docker run -v myvolume:/data myimage
这样,容器中的/data
路径就会被映射到名为myvolume
的数据卷上。当容器被删除时,该数据卷并不会被自动删除,数据将会保留下来。
绑定挂载是指将主机上的一个目录挂载到容器中的指定路径上,从而实现容器数据的持久化存储。
我们可以通过docker run
命令来进行绑定挂载,如下所示:
$ docker run -v /host/path:/container/path myimage
这样,主机上的/host/path
目录就会被映射到容器中的/container/path
路径上。当容器被删除时,主机上的数据将会保留下来。
二、Linux中的容器持久化存储
除了在Docker中进行容器的持久化存储外,我们还可以通过Linux的底层技术来实现容器的数据管理。
Linux中可以通过使用共享文件系统来实现容器的持久化存储。我们可以在主机上创建一个文件系统,并将其挂载到容器中,从而实现容器数据的持久化存储。
首先,我们需要在主机上创建一个文件系统,例如使用ext4文件系统,可以使用以下命令:
$ mkfs.ext4 /dev/sdb1
接着,我们可以通过mount
命令将该文件系统挂载到容器中的指定路径:
$ mount /dev/sdb1 /container/path
这样,容器中的/container/path
路径就会被挂载为共享文件系统,当容器被删除时,数据将会保留下来。
存储卷管理器是Linux中的一个高级特性,可以实现数据的快照、克隆、迁移等功能。我们可以使用存储卷管理器来实现容器的数据管理。
首先,我们需要安装存储卷管理器的软件包,例如LVM(Logical Volume Manager):
$ apt-get install lvm2
接着,我们可以使用lvcreate
命令创建一个逻辑卷(Logical Volume):
$ lvcreate -L 1G -n myvolume myvg
这样,我们就创建了一个大小为1GB的逻辑卷,并将其命名为myvolume
。
接下来,我们可以使用mkfs
命令在逻辑卷上创建一个文件系统:
$ mkfs.ext4 /dev/myvg/myvolume
最后,我们可以通过mount
命令将逻辑卷挂载到容器中的指定路径:
$ mount /dev/myvg/myvolume /container/path
这样,容器中的/container/path
rrreee
myvolume
. Lorsque le conteneur est supprimé, le volume de données ne sera pas automatiquement supprimé et les données seront conservées.
Bind Mount fait référence au montage d'un répertoire sur l'hôte sur un chemin spécifié dans le conteneur pour assurer la persistance du stockage des données du conteneur.
docker run
, comme indiqué ci-dessous : /host/path
sur l'hôte sera mappé vers le chemin /container/path
dans le conteneur. Lorsque le conteneur est supprimé, les données sur l'hôte restent. Commande
Le chemin spécifié dans : 🎜rrreee🎜De cette façon, le chemin /container/path
dans le conteneur sera monté en tant que système de fichiers partagé. Lorsque le conteneur est supprimé, les données. sera retenu. 🎜lvcreate
pour créer un volume logique (Logical Volume ):🎜 rrreee🎜De cette façon, nous avons créé un volume logique d'une taille de 1 Go et l'avons nommé monvolume
. 🎜🎜Ensuite, nous pouvons créer un système de fichiers sur le volume logique à l'aide de la commande mkfs
: 🎜rrreee🎜Enfin, nous pouvons monter le volume logique sur le conteneur via le mount
command Le chemin spécifié dans : 🎜rrreee🎜De cette façon, le chemin /container/path
dans le conteneur sera monté en tant que volume logique. Lorsque le conteneur est supprimé, les données seront conservées. 🎜🎜En résumé, que ce soit sous Docker ou Linux, nous pouvons implémenter le stockage persistant et la gestion des données des conteneurs via différentes méthodes. En choisissant raisonnablement la bonne méthode, nous pouvons mieux gérer et conserver les données dans le conteneur. 🎜🎜J'espère que cet article vous aidera à comprendre et à utiliser le stockage persistant et la gestion des données des conteneurs ! 🎜🎜Références : 🎜🎜🎜Documentation Docker : https://docs.docker.com/storage/🎜🎜Documentation Linux : https://www.kernel.org/doc/html/latest/admin-guide/devices/ lvm .html🎜🎜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!