一尘不染

在Docker容器内部使用符号链接挂载主机目录

docker

我使用以下参数安装了容器:

-v / home / test /:/ home / test

在主机的/ home / test内部,有一个指向/ mnt /文件夹的符号链接。

但是该链接尽管可以看到指向的位置,但在容器内部似乎已损坏:

root@f93f72b45013:/var/www/html# cd /home/test/ 
root@f93f72b45013:/home/test# ls -lrt 
total 11956 
lrwxrwxrwx. 1 root root 40 Jul 20 15:55 file -> /mnt/mountedfile/
root@f93f72b45013:/home/test# ls -lrt file/*
ls: cannot access file/*: No such file or directory

甚至有可能在Docker中完成吗?我不确定是否有办法做到这一点。

我知道我可以直接安装符号链接所指向的位置,但是我只是想知道这是否是可能的。


阅读 696

收藏
2020-06-17

共1个答案

一尘不染

符号链接是Docker内部的一大挑战。您可以挂载两个目录:

-v /home/test/:/home/test -v /mnt/mountedfile:/mnt/mountedfile

为了使符号链接在容器内部和外部均能正常工作,它们必须是绝对路径并使用完全相同的名称。

通常,符号链接在docker内部不起作用。我发现这很困难。

2020-06-17