Файловая система Docker - Совместимость с символическими ссылками

Обратите внимание на следующие характеристики: http://h20564.www2.hp.com/hpsc/doc/public/display?docId=emr_na-c01951378

T5325 это компьютер на базе ARM. У него нет BIOS, как на машинах x86.

Это означает, что этот компьютер не поддерживает загрузку PXE. Вам необходимо установить прошивку / ОС на локальное хранилище, если вы хотите, чтобы она загружалась.

3
19.05.2015, 06:37
1 ответ

Позвольте мне поделиться своим опытом здесь. Docker, похоже, плохо обрабатывает символические ссылки. Я подключил свой реальный каталог к ​​директору контейнера обычным способом (EXTERNAL_DATA - это переменная среды для ясности: скажем / data / projectA):

-v $EXTERNAL_DATA:/docker/data

У меня есть символически связанный файл, если вы посмотрите из внешнего вида

symlink_file -> /data/projA/somereal_file.txt

Когда вы войдите в контейнер, команда ls покажет это в точности, если вы набрали команду вне контейнера. Somereal_file.txt находится в том же каталоге, что и symlink_file

. Вы можете получить доступ к реальному файлу, но получите сообщение об ошибке, если попытаетесь использовать символическую ссылку.

head symlink_file
head: cannot open 'simlink_file' for reading: No such file or directory

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

Должны ли мы называть это фундаментальным недостатком символической ссылки в докере?

1
27.01.2020, 21:22

Теги

Похожие вопросы