Симлинк в Docker контейнере не поддерживается? - PullRequest
0 голосов
/ 26 марта 2019

Я провел некоторый поиск, и похоже, что symlink не поддерживается внутри контейнера Docker, есть ли обходной путь? Я также использую том, который монтируется в мой домашний каталог (на хосте), и это постоянно.

Когда я загружаю контейнер, существующие символические ссылки в моем домашнем каталоге не работают. Я даже пытался создать символические ссылки внутри контейнера, это тоже не работает.

РЕДАКТИРОВАТЬ: я играл с монтированием> 1 тома, и, возможно, что-то нашел. Если я смонтирую том, который отражает путь символической ссылки, то, похоже, он будет работать. Например, если у меня есть папка с данными, которая ссылается на / media / disk1 в моем / work каталоге внутри контейнера (и / work отображается на / home на хосте), я могу смонтировать другой том, который подключает / media / disk1 к / work / data, (и / media / disk1 - это символическая ссылка на / home / data на хосте), тогда символическая ссылка работает внутри контейнера!

1 Ответ

1 голос
/ 26 марта 2019

Я отвечу на свой вопрос, на случай, если кто-нибудь еще столкнется с этими проблемами.

Сначала мы создаем том

docker volume create --name work type=none --opt device=/home/username --opt o=bind

Затем запускаем контейнер

docker container run -it --rm --mount source=work,target=/work

Таким образом, домашний каталог моего хоста (/ home / username) сопоставляется с моим каталогом / work в контейнере.

Теперь в моем домашнем каталоге есть данные символической ссылки -> / media/ disk1 / data, которая не работает внутри контейнера.

Однако, если я настрою другой том и смонтирую так, чтобы путь соответствовал символической ссылке, то есть

docker volume create --name data type=none --opt device=/media/disk1/data --opt o=bind
docker container run -it --rm --mount source=work,target=/work --mount source=data,target=/work/data

Тогда символическая ссылка работает.

Я полагаю, что проблема заключается в том, что символическая ссылка ссылается на путь, о котором контейнер «не знает», и только путем монтирования этого пути в качестве дополнительного тома в нужном месте сработала символическая ссылка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...