问题:在 Alpine Linux Docker Container 中安装 ODBC 驱动

我目前有以下Dockerfile来创建我的 Docker 映像。

FROM python:3.6.6-alpine3.8

# Add dependencies for Python packages pandas, numpy and pyodbc
RUN apk add --no-cache curl gcc g++ unixodbc-dev
RUN ln -s /usr/include/locale.h /usr/include/xlocale.h

# Project files
ARG PROJECT_DIR=/srv/scripts
RUN mkdir -p $PROJECT_DIR
WORKDIR $PROJECT_DIR
COPY requirements.txt ./

# Install Python dependencies
RUN pip install --upgrade pip
RUN pip install -r requirements.txt

我想在此映像中包含各种 ODBC 驱动程序,以便我可以使用它们从在我的容器中运行的 Python 程序连接到不同的数据库。

  • Python 程序使用Pyodbc连接数据库。

  • 我需要安装的ODBC驱动有:

  • PostgreSQL

  • MySQL

  • 女士 SQL 服务器

  • 太极数据

  • 甲骨文

  • 蜂巢

  • 黑斑羚

我想从 PostgreSQL 开始,认为它会是最简单的,但我在Alpine Linux 包管理器上找不到任何包。你知道我应该如何安装这样的驱动程序吗?

解答

我面临着同样的问题。我通过在RUN apk add命令之前添加RUN apk update解决了这个问题。(我使用的是 python:3.6-alpine)

Dockerfile

FROM python:3.6-alpine
RUN apk update
RUN apk add gcc libc-dev g++ libffi-dev libxml2 unixodbc-dev mariadb-dev postgresql-dev
Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐