错误 运行 python 代码来自 docker 图片

Error running python code via docker image

我有一个 python 代码,运行 可以从 API 中提取数据,但我通过 docker 向 运行 发送了问题.我在 python 代码中使用 pyodbc 将数据加载到 SQLServer 中。这是我的 docker 文件:

FROM python:3.9.2

RUN apt-get update -y && apt-get install -y --no-install-recommends \
    unixodbc-dev \
    unixodbc \
    libpq-dev 

WORKDIR /app

COPY requirements.txt requirements.txt

RUN pip3 install -r requirements.txt

COPY . .

CMD ["python3","LoadAPI_data.py"]

创建 docker 图像后,当我尝试 运行 docker 图像时,出现以下错误:

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

谁能告诉我如何摆脱这个错误?

通过将我的 dockerfile 更新为 运行 安装 SQL 数据库以及 python,我能够获得我的代码 运行ning。这是我的新 dockerfile 的样子。

FROM ubuntu:18.04

RUN apt-get update -y && \      
    apt-get install -y \    
    libpq-dev \     
    gcc \
    python3-pip \
    unixodbc-dev

RUN apt-get update && apt-get install -y \
    curl apt-utils apt-transport-https debconf-utils gcc build-essential g++-5\
    && rm -rf /var/lib/apt/lists/*

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
RUN curl https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list
RUN apt-get update
RUN ACCEPT_EULA=Y apt-get install -y --allow-unauthenticated msodbcsql17

RUN pip3 install pyodbc

WORKDIR /app

COPY requirements.txt requirements.txt


RUN pip3 install -r requirements.txt

COPY . .

CMD ["python3","LoadAPI_data.py"]