Maison Opération et maintenance Docker Comment se connecter en douceur au répertoire hôte dans un conteneur Docker

Comment se connecter en douceur au répertoire hôte dans un conteneur Docker

Apr 26, 2023 am 10:27 AM

Docker, en tant que technologie de déploiement et de gestion rapides d'applications, a été largement utilisé dans les environnements de développement et de production. Lors de l'utilisation de Docker, nous devons souvent mapper le répertoire hôte à l'intérieur du conteneur Docker afin que le conteneur puisse lire et écrire des fichiers sur l'hôte.

Cependant, dans certains cas, nous devons connecter en douceur un répertoire ou un fichier du conteneur Docker à un répertoire ou un fichier de la machine hôte. Ceci est très utile dans des applications pratiques, telles que l'utilisation de connexions logicielles pour partager une base de code entre l'hôte et le conteneur, ou permettre au conteneur d'accéder à un certain périphérique matériel sur l'hôte.

Cet article explique comment implémenter une connexion logicielle au répertoire hôte à l'intérieur du conteneur Docker.

  1. Préparation

Afin d'implémenter une connexion logicielle au répertoire hôte à l'intérieur du conteneur Docker, nous devons d'abord partager le répertoire sur l'hôte Docker à l'intérieur du conteneur Docker. Ici, nous prenons comme exemple le répertoire /data de l'hôte partagé. /data目录为例。

首先,在宿主机上创建一个目录/data,并且在目录中创建一个文件test.txt,然后在文件中写入一些测试内容。接下来,我们需要在启动Docker容器时将宿主机的/data目录映射到Docker容器内部的一个目录中,比如/container_data

假设我们已经通过docker run命令启动了一个名为test的Docker容器,并将宿主机的/data目录映射到了容器内部的/container_data目录中。现在我们可以在Docker容器内部查看/container_data目录来验证共享是否已经正确设置。

  1. 在Docker容器内部创建软连接

在完成共享设置之后,我们可以在Docker容器内部创建一个软连接,将容器内的一个目录或文件链接到宿主机上的一个目录或文件。这里我们以将容器内的/container_data/test.txt软连接到宿主机上的/data/test.txt为例。

在Docker容器内运行以下命令:

ln -s /container_data/test.txt /data/test.txt
Copier après la connexion

这条命令将会在容器内创建一个软连接/data/test.txt,并将其指向宿主机上的/data/test.txt。我们可以在Docker容器内部验证软连接是否已经正确创建:

ls -l /data/test.txt
Copier après la connexion

这条命令将会输出以下内容:

lrwxrwxrwx 1 root root 24 Mar 17 10:00 /data/test.txt -> /container_data/test.txt
Copier après la connexion

可以看到,输出结果中的->符号表示/data/test.txt软连接到了/container_data/test.txt

  1. 测试软连接是否正常工作

在确认软连接已经在Docker容器内部正确创建之后,我们可以测试软链接是否已经正确工作。可以通过在Docker容器内读写/container_data/test.txt和在宿主机上读写/data/test.txt来测试。

首先,在Docker容器内部运行以下命令,将test.txt文件中的内容重定向到/container_data/test.txt

echo "test message in container" > /container_data/test.txt
Copier après la connexion

然后,在宿主机上,我们可以查看/data/test.txt文件的内容,以验证软链接是否成功工作:

cat /data/test.txt
Copier après la connexion

可以看到,test.txt中的内容与在Docker容器内设置的内容相同。

接着,在宿主机上向/data/test.txt文件追加一些新的内容:

echo "test message in host" >> /data/test.txt
Copier après la connexion

然后,我们再次在Docker容器内部查看/container_data/test.txt文件的内容:

cat /container_data/test.txt
Copier après la connexion

可以看到,新加的内容已经被正确地追加到了test.txt

Tout d'abord, créez un répertoire /data sur la machine hôte, créez un fichier test.txt dans le répertoire, puis écrivez du contenu de test dans le fichier. Ensuite, nous devons mapper le répertoire /data de l'hôte à un répertoire à l'intérieur du conteneur Docker, tel que /container_data, lors du démarrage du conteneur Docker.
  1. Supposons que nous ayons démarré un conteneur Docker nommé test via la commande docker run et mappé le répertoire /data de l'hôte vers In the /container_data à l'intérieur du conteneur. Nous pouvons maintenant vérifier le répertoire /container_data à l'intérieur du conteneur Docker pour vérifier que le partage a été correctement configuré.
    1. Créer une connexion logicielle à l'intérieur du conteneur Docker

      🎜Après avoir terminé les paramètres de partage, nous pouvons créer une connexion logicielle à l'intérieur du conteneur Docker pour lier un répertoire ou un fichier du conteneur à l'hôte a répertoire ou fichier. Ici, nous prenons comme exemple une connexion logicielle de /container_data/test.txt dans le conteneur à /data/test.txt sur l'hôte. 🎜🎜Exécutez la commande suivante dans le conteneur Docker : 🎜rrreee🎜Cette commande créera une connexion logicielle /data/test.txt dans le conteneur et la fera pointer vers sur la machine hôte /data /test.txt. Nous pouvons vérifier si la connexion logicielle a été créée correctement à l'intérieur du conteneur Docker : 🎜rrreee🎜Cette commande affichera le contenu suivant : 🎜rrreee🎜Comme vous pouvez le voir, le symbole -> dans la sortie le résultat signifie que /data/test.txt est doucement connecté à /container_data/test.txt. 🎜
        🎜Testez si le lien symbolique fonctionne correctement🎜🎜🎜Après avoir confirmé que le lien symbolique a été correctement créé dans le conteneur Docker, nous pouvons tester si le lien symbolique fonctionne correctement. Il peut être testé en lisant et en écrivant /container_data/test.txt dans le conteneur Docker et en lisant et en écrivant /data/test.txt sur l'hôte. 🎜🎜Tout d'abord, exécutez la commande suivante dans le conteneur Docker pour rediriger le contenu du fichier test.txt vers /container_data/test.txt : 🎜rrreee🎜Ensuite, dans Sur la machine hôte, nous pouvons visualiser le contenu du fichier /data/test.txt pour vérifier si le lien logiciel fonctionne correctement : 🎜rrreee🎜Vous pouvez le voir dans test.txt Le contenu de est le même que celui défini dans le conteneur Docker. 🎜🎜Ensuite, ajoutez du nouveau contenu au fichier <code>/data/test.txt sur la machine hôte : 🎜rrreee🎜Ensuite, nous visualisons à nouveau /container_data/test.txt à l'intérieur du conteneur Docker Contenu du fichier : 🎜rrreee🎜Vous pouvez voir que le contenu nouvellement ajouté a été correctement ajouté au fichier test.txt. 🎜🎜🎜Résumé🎜🎜🎜Grâce aux étapes ci-dessus, nous avons réussi à créer un lien symbolique à l'intérieur du conteneur Docker, reliant un fichier dans le conteneur à un fichier sur l'hôte. Dans les applications pratiques, les liens logiciels nous permettent de partager facilement des fichiers ou des répertoires, améliorant ainsi l'efficacité du développement et de la gestion. Bien entendu, lors de l'utilisation de liens symboliques, nous devons faire attention aux autorisations de lecture et d'écriture du fichier ou du répertoire pour garantir que le lien symbolique peut fonctionner correctement. 🎜

    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 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Comment réparer l'audio si vous n'entendez personne
    1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Commandes de chat et comment les utiliser
    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 déployer des applications à un cluster Swarm Docker? Comment déployer des applications à un cluster Swarm Docker? Mar 17, 2025 pm 04:20 PM

    L'article détaille les applications de déploiement de Docker Swarm, couvrant la préparation, les étapes de déploiement et les mesures de sécurité pendant le processus.

    Que sont les gods, les déploiements et les services de Kubernetes? Que sont les gods, les déploiements et les services de Kubernetes? Mar 17, 2025 pm 04:25 PM

    L'article explique les pods, déploiements et services de Kubernetes, détaillant leurs rôles dans la gestion des applications conteneurisées. Il explique comment ces composants améliorent l'évolutivité, la stabilité et la communication dans les applications. (159 caractères)

    Comment faire évoluer les applications à Kubernetes? Comment faire évoluer les applications à Kubernetes? Mar 17, 2025 pm 04:28 PM

    L'article traite des applications de mise à l'échelle dans Kubernetes à l'aide de l'échelle manuelle, HPA, VPA et Autoscaler en cluster, et fournit les meilleures pratiques et outils pour surveiller et automatiser l'échelle.

    Comment gérer les services dans Docker Swarm? Comment gérer les services dans Docker Swarm? Mar 17, 2025 pm 04:22 PM

    L'article discute de la gestion des services dans Docker Swarm, en se concentrant sur la création, la mise à l'échelle, la surveillance et la mise à jour sans temps d'arrêt.

    Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Comment mettre en œuvre des mises à jour de roulement dans Docker Swarm? Mar 17, 2025 pm 04:23 PM

    L'article examine la mise en œuvre des mises à jour de roulement dans Docker Swarm pour mettre à jour les services sans temps d'arrêt. Il couvre les services de mise à jour, la définition des paramètres de mise à jour, la surveillance des progrès et la garantie de mises à jour en douceur.

    Comment gérer les déploiements à Kubernetes? Comment gérer les déploiements à Kubernetes? Mar 17, 2025 pm 04:27 PM

    L'article examine la gestion des déploiements de Kubernetes, en se concentrant sur la création, les mises à jour, la mise à l'échelle, la surveillance et l'automatisation à l'aide de divers outils et meilleures pratiques.

    Comment créer un cluster Swarm Docker? Comment créer un cluster Swarm Docker? Mar 17, 2025 pm 04:19 PM

    L'article discute de la création et de la gestion des grappes d'essaims Docker, y compris la configuration, les services de mise à l'échelle et les meilleures pratiques de sécurité.

    Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Questions d'entrevue Docker: Ace Your DevOps Engineering Interview Apr 06, 2025 am 12:01 AM

    Docker est une compétence incontournable pour les ingénieurs DevOps. 1.Docker est une plate-forme conteneurisée open source qui atteint l'isolement et la portabilité par les applications d'emballage et leurs dépendances dans les conteneurs. 2. Docker fonctionne avec les espaces de noms, les groupes de contrôle et les systèmes de fichiers fédérés. 3. L'utilisation de base comprend la création, l'exécution et la gestion des conteneurs. 4. L'utilisation avancée comprend l'utilisation de dockercosive pour gérer les applications multi-container. 5. Les erreurs courantes incluent une défaillance des conteneurs, des problèmes de cartographie des ports et des problèmes de persistance des données. Les compétences de débogage incluent la visualisation des journaux, la saisie des conteneurs et la visualisation d'informations détaillées. 6. L'optimisation des performances et les meilleures pratiques incluent l'optimisation de l'image, les contraintes de ressources, l'optimisation du réseau et les meilleures pratiques pour l'utilisation de dockerfile.

    See all articles