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.
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/datade l'hôte partagé./data目录为例。
首先,在宿主机上创建一个目录/data,并且在目录中创建一个文件test.txt,然后在文件中写入一些测试内容。接下来,我们需要在启动Docker容器时将宿主机的/data目录映射到Docker容器内部的一个目录中,比如/container_data。
假设我们已经通过docker run命令启动了一个名为test的Docker容器,并将宿主机的/data目录映射到了容器内部的/container_data目录中。现在我们可以在Docker容器内部查看/container_data目录来验证共享是否已经正确设置。
在完成共享设置之后,我们可以在Docker容器内部创建一个软连接,将容器内的一个目录或文件链接到宿主机上的一个目录或文件。这里我们以将容器内的/container_data/test.txt软连接到宿主机上的/data/test.txt为例。
在Docker容器内运行以下命令:
ln -s /container_data/test.txt /data/test.txt
这条命令将会在容器内创建一个软连接/data/test.txt,并将其指向宿主机上的/data/test.txt。我们可以在Docker容器内部验证软连接是否已经正确创建:
ls -l /data/test.txt
这条命令将会输出以下内容:
lrwxrwxrwx 1 root root 24 Mar 17 10:00 /data/test.txt -> /container_data/test.txt
可以看到,输出结果中的->符号表示/data/test.txt软连接到了/container_data/test.txt。
在确认软连接已经在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
然后,在宿主机上,我们可以查看/data/test.txt文件的内容,以验证软链接是否成功工作:
cat /data/test.txt
可以看到,test.txt中的内容与在Docker容器内设置的内容相同。
接着,在宿主机上向/data/test.txt文件追加一些新的内容:
echo "test message in host" >> /data/test.txt
然后,我们再次在Docker容器内部查看/container_data/test.txt文件的内容:
cat /container_data/test.txt
可以看到,新加的内容已经被正确地追加到了test.txt
/datasur la machine hôte, créez un fichier
test.txtdans le répertoire, puis écrivez du contenu de test dans le fichier. Ensuite, nous devons mapper le répertoire
/datade l'hôte à un répertoire à l'intérieur du conteneur Docker, tel que
/container_data, lors du démarrage du conteneur Docker.
testvia la commandedocker runet mappé le répertoire/datade 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é./container_data/test.txtdans le conteneur à
/data/test.txtsur l'hôte. Exécutez la commande suivante dans le conteneur Docker : rrreeeCette commande créera une connexion logicielle
/data/test.txtdans 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 : rrreeeCette commande affichera le contenu suivant : rrreeeComme vous pouvez le voir, le symbole
->dans la sortie le résultat signifie que
/data/test.txtest doucement connecté à
/container_data/test.txt.
/container_data/test.txtdans le conteneur Docker et en lisant et en écrivant
/data/test.txtsur l'hôte. Tout d'abord, exécutez la commande suivante dans le conteneur Docker pour rediriger le contenu du fichier
test.txtvers
/container_data/test.txt: rrreeeEnsuite, dans Sur la machine hôte, nous pouvons visualiser le contenu du fichier
/data/test.txtpour vérifier si le lien logiciel fonctionne correctement : rrreeeVous 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 /data/test.txtsur la machine hôte : rrreeeEnsuite, nous visualisons à nouveau
/container_data/test.txt à l'intérieur du conteneur DockerContenu du fichier : rrreeeVous 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!
supprimer le dossier sous Linux
types de données de base Java
Les dix principaux échanges de devises numériques
Comment réparer le système Win7 s'il est endommagé et ne peut pas être démarré
propriétés du dégradé CSS3
Que signifie le système d'exploitation DOS ?
qu'est-ce que c#
disque système win10 occupé à 100%