Docker bind mounts работает с файлами odbc.ini в Windows, но не в Linux - PullRequest
1 голос
/ 12 марта 2019

Последние несколько дней я пытался правильно настроить Informix ODBC для приложения ASP.NET Core, размещенного в контейнерах Linux (если быть точным).

Все отлично работает, когда я копирую .odbc.iniфайл в / корневой каталог во время сборки:

COPY ./.odbc.ini /root/

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

--mount type=bind,source=/usr/local/app/odbc/.odbc.ini,target=/root/.odbc.ini

Этот тип привязки прекрасно работает при запуске в Docker для Windows на компьютере разработчика, но при попытке его в Docker на Fedora29 я получаю сообщение об ошибке:

is not listed as a dbserver name in sqlhosts.er][Informix]Server cms_net

Ошибка возникает только при монтировании .odbc.ini с хоста, когда публикуется с контейнером, он работает просто отлично.

Есть ли какие-либо ограничения на монтирование системных файлов на собственном linux (я просто предполагаю, что это связано с тем, что при запуске требуется файл, как некоторые файлыв Windows мое понимание linux весьма ограничено).

1 Ответ

1 голос
/ 12 апреля 2019

Наконец-то все получилось, все что нужно было удалить переменные окружения, указывающие местоположение ODBC.ini и ODBCINST.ini, и использовать местоположение по умолчанию.

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