在Docker容器中连接pyodbc的问题



早上好

我的Docker容器和pyodbc/unixodbc-dev有以下问题。

当运行我的Python API连接到我的Docker容器时,我得到以下错误消息——

(pyodbc.Error) ('01000', "[01000] [unixODBC][Driver
Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)"

连接到相同的API使用我的本地调试实例一切工作正常-我可以提交一个字符串搜索后端数据库,我得到的结果返回并发送回邮差UI。

我看到unixODBC -dev dev 2.3.6-0.1 amd64安装在Docker镜像中,我注意到unixODBC是2.3.11 -不知道是否有任何问题,但据说我们的Moonshot实例无法连接到http://deb.debian.org,并且让我们的安全组打开它几乎是不可能的。

所有这一切都说,我想知道如果我有一些配置错误在我的Docker容器,导致我的问题。我是Docker容器世界的新手,所以这绝对是我学习的过程。

TIA,比尔青年

我能够弄清楚这一点-感谢m.b.为我正在寻找的解决方案。

我能够从这个安装ODBC驱动程序在Alpine Linux Docker容器和修改它为我的需要的Debian的建议。

这是我用来满足下载unixOdbc以及下载和安装MS Sql ODBC驱动程序的代码。

FROM python:3.8.3
ARG ENV DEBIAN_FRONTEND noninteractive
# install Microsoft SQL Server requirements.
ENV ACCEPT_EULA=Y
RUN apt-get update -y && apt-get update 
&& apt-get install -y --no-install-recommends curl gcc g++ gnupg unixodbc-dev
# Add SQL Server ODBC Driver 17 for Ubuntu 18.04
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - 
&& curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list 
&& apt-get update 
&& apt-get install -y --no-install-recommends --allow-unauthenticated msodbcsql17 mssql-tools 
&& echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile 
&& echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
# clean the install.
RUN apt-get -y clean

一旦完成,我构建并部署了我的容器,一切都工作得很好。

最新更新