最近几天,我一直在努力为Linux(准确地说是debian)容器上托管的ASP.NET Core应用程序正确配置Informix ODBC。
在构建过程中,我将.odbc.ini文件复制到/ root目录时,一切正常:
COPY ./.odbc.ini /root/
但是由于配置文件包含密码,所以我不想将这些文件发送到映像中,因此宁愿从主机目录中挂载它们:
--mount type=bind,source=/usr/local/app/odbc/.odbc.ini,target=/root/.odbc.ini
这种绑定在开发机器上的Windows版Docker上运行时很好用,但是在Fedora29上的Docker上尝试时,我得到一个错误:
is not listed as a dbserver name in sqlhosts.er][Informix]Server cms_net
仅当从主机上安装.odbc.ini时出现错误,当与容器一起发布时,它工作得很好。
在本机linux上挂载系统文件是否有任何限制(我只是假设这是由于启动时需要该文件,就像Windows上的某些文件一样,我对linux的理解非常有限)。
答案 0 :(得分:1)
最后,只需要删除指定ODBC.ini和ODBCINST.ini位置的环境变量并使用默认位置即可。