Maison Opération et maintenance exploitation et maintenance Linux Linux et Docker : Comment conserver et sauvegarder les données des conteneurs ?

Linux et Docker : Comment conserver et sauvegarder les données des conteneurs ?

Jul 28, 2023 pm 11:06 PM
备份 (backup) 持久化 (persistence) 容器 (container)

Linux et Docker : Comment effectuer la persistance et la sauvegarde des données du conteneur ?

Avec le développement rapide du cloud computing et de la technologie des conteneurs, Docker est devenue aujourd'hui l'une des plates-formes de conteneurisation les plus populaires et les plus utilisées. Dans le processus d'utilisation de Docker pour le développement et le déploiement d'applications, la persistance et la sauvegarde des données sont une tâche très importante. Cet article explique comment effectuer la persistance et la sauvegarde des données du conteneur sous Linux et Docker, et donne des exemples de code correspondants.

  1. Persistance des données

Dans Docker, les données du conteneur sont stockées par défaut à l'intérieur de l'image, ce qui signifie que lorsque le conteneur est supprimé, les données seront également perdues. Afin d'assurer la persistance des données, des volumes de données peuvent être utilisés pour associer les données contenues dans le conteneur à l'hôte.

Ce qui suit est un exemple de Dockerfile utilisant un volume de données :

FROM ubuntu:latest
VOLUME /data
COPY myapp /data
Copier après la connexion

Dans cet exemple, nous définissons d'abord un volume de données /data, puis ajoutons le myapp à l'intérieur du conteneur Le fichier est copié dans le volume de données. De cette façon, lorsque nous exécutons ce conteneur, nous pouvons accéder aux données du conteneur en montant un répertoire sur l'hôte dans /data dans le conteneur. /data,然后将容器内部的myapp文件复制到数据卷中。这样,当我们运行这个容器时,可以通过挂载主机上的一个目录到容器中的/data来访问容器中的数据。

使用以下命令可以运行这个容器,并进行数据持久化:

$ docker run -v /path/to/host/dir:/data myimage
Copier après la connexion

在上述命令中,/path/to/host/dir是主机上的一个目录,它将被挂载到容器中的/data。这样,主机上的数据就会与容器中的数据进行同步,实现了数据的持久化。

  1. 数据备份

对于容器中的数据,我们通常还需要进行定期的备份,以防止数据的丢失。在Linux中,有多种方法可以对数据进行备份,如使用cp命令、rsync命令和tar命令等。下面是一个使用rsync命令进行备份的示例:

$ rsync -avz --delete /path/to/source/dir /path/to/backup/dir
Copier après la connexion

在这个示例中,我们使用rsync命令将/path/to/source/dir中的数据同步到/path/to/backup/dir中。其中,-avz选项表示进行归档模式、保留文件权限和递归备份,--delete选项表示删除备份目录中不存在的源目录文件。

为了实现自动化的数据备份,我们可以将上述命令添加到Cron任务中。Cron是Linux中一种用于定期执行任务的服务,可以通过编辑/etc/crontab

Utilisez la commande suivante pour exécuter ce conteneur et effectuer la persistance des données :

# 每天凌晨3点进行数据备份
0 3 * * * root rsync -avz --delete /path/to/source/dir /path/to/backup/dir
Copier après la connexion
Dans la commande ci-dessus, /path/to/host/dir est un répertoire sur l'hôte, qui sera monté /data chargé dans le conteneur. De cette manière, les données sur l'hôte seront synchronisées avec les données du conteneur, assurant ainsi la persistance des données.

    Sauvegarde des données

      Pour les données contenues dans le conteneur, nous devons généralement effectuer des sauvegardes régulières pour éviter toute perte de données. Sous Linux, il existe de nombreuses façons de sauvegarder des données, par exemple en utilisant la commande cp, la commande rsync et la commande tar. Vous trouverez ci-dessous un exemple d'utilisation de la commande rsync pour la sauvegarde :
    1. rrreee
    2. Dans cet exemple, nous utilisons la commande rsync pour synchroniser les données de /path/to/source/dir vers /path /vers/sauvegarde/rép. Parmi elles, l'option -avz signifie exécuter le mode archive, conserver les autorisations de fichiers et la sauvegarde récursive, et l'option --delete signifie supprimer les fichiers du répertoire source qui n'existent pas dans le répertoire de sauvegarde.
    3. Afin de réaliser une sauvegarde automatisée des données, nous pouvons ajouter la commande ci-dessus à la tâche Cron. Cron est un service sous Linux utilisé pour effectuer des tâches régulièrement. Vous pouvez ajouter des déclencheurs planifiés pour les tâches de sauvegarde en modifiant le fichier /etc/crontab. Voici un exemple simple :
    rrreee🎜Dans l'exemple ci-dessus, nous avons défini la tâche de sauvegarde des données pour qu'elle soit exécutée une fois par jour à 3 heures du matin. 🎜🎜En résumé, en utilisant des volumes de données et des méthodes de sauvegarde régulières, nous pouvons assurer la persistance des données et la sauvegarde des conteneurs sous Linux et Docker. Cette approche peut garantir la fiabilité et la continuité des données d’application et améliorer la sécurité et la disponibilité des données. 🎜🎜Références : 🎜🎜🎜Docker Documentations https://docs.docker.com/storage/volumes/🎜🎜Linux Handbook https://linuxhandbook.com/understand-crontab-syntax/🎜🎜

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)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
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 utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs? Mar 17, 2025 pm 05:25 PM

L'article explique comment utiliser des expressions régulières (regex) dans Linux pour la correspondance de motifs, la recherche de fichiers et la manipulation du texte, la syntaxe détaillant, les commandes et les outils comme Grep, SED et AWK.

Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Comment surveiller les performances du système dans Linux à l'aide d'outils comme TOP, HTOP et VMSTAT? Mar 17, 2025 pm 05:28 PM

L'article discute de l'utilisation de TOP, HTOP et VMSTAT pour surveiller les performances du système Linux, détaillant leurs fonctionnalités uniques et leurs options de personnalisation pour une gestion efficace du système.

Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Comment implémenter l'authentification à deux facteurs (2FA) pour SSH dans Linux? Mar 17, 2025 pm 05:31 PM

L'article fournit un guide sur la configuration de l'authentification à deux facteurs (2FA) pour SSH sur Linux à l'aide de Google Authenticator, détaillant l'installation, la configuration et les étapes de dépannage. Il met en évidence les avantages de sécurité du 2FA, comme SEC amélioré

Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Comment gérer les packages logiciels dans Linux à l'aide de gestionnaires de packages (APT, YUM, DNF)? Mar 17, 2025 pm 05:26 PM

L'article discute de la gestion des packages de logiciels dans Linux à l'aide d'APT, YUM et DNF, couvrant l'installation, les mises à jour et les déménagements. Il compare leurs fonctionnalités et leur pertinence pour différentes distributions.

Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Comment utiliser Sudo pour accorder des privilèges élevés aux utilisateurs de Linux? Mar 17, 2025 pm 05:32 PM

L'article explique comment gérer les privilèges sudo à Linux, y compris l'octroi, la révocation et les meilleures pratiques de sécurité. L'accent est mis sur l'édition / etc.

Opérations clés de Linux: Guide du débutant Opérations clés de Linux: Guide du débutant Apr 09, 2025 pm 04:09 PM

Les débutants Linux doivent maîtriser les opérations de base telles que la gestion des fichiers, la gestion des utilisateurs et la configuration du réseau. 1) Gestion des fichiers: utilisez les commandes MKDIR, Touch, LS, RM, MV et CP. 2) Gestion des utilisateurs: utilisez des commandes UserAdd, Passwd, UserDel et UserMod. 3) Configuration du réseau: utilisez les commandes IFConfig, Echo et UFW. Ces opérations sont à la base de la gestion du système Linux, et les maîtriser peut gérer efficacement le système.

Les 5 piliers de Linux: comprendre leurs rôles Les 5 piliers de Linux: comprendre leurs rôles Apr 11, 2025 am 12:07 AM

Les cinq piliers du système Linux sont: 1. Kernel, 2. Bibliothèque système, 3. Shell, 4. Système de fichiers, 5. Outils système. Le noyau gère les ressources matérielles et fournit des services de base; La bibliothèque système fournit des fonctions précompilées pour les applications; Le shell est l'interface permettant aux utilisateurs d'interagir avec le système; Le système de fichiers organise et stocke les données; et les outils système sont utilisés pour la gestion et la maintenance du système.

Mode de maintenance Linux: outils et techniques Mode de maintenance Linux: outils et techniques Apr 10, 2025 am 09:42 AM

Dans les systèmes Linux, le mode de maintenance peut être entré en appuyant sur une touche spécifique au démarrage ou en utilisant une commande telle que "Sudosystemctlrescue". Le mode de maintenance permet aux administrateurs d'effectuer la maintenance du système et le dépannage sans interférence, tels que la réparation des systèmes de fichiers, la réinitialisation des mots de passe, le correctif des vulnérabilités de sécurité, etc.

See all articles