docker - 在 Alpine Linux Docker 容器中安装 ODBC 驱动程序

标签 docker odbc dockerfile pyodbc unixodbc

我目前有以下 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 Server 女士
    • Teradata
    • 甲骨文
    • hive
    • 黑斑羚

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

最佳答案

我遇到了同样的问题。我通过在 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

关于docker - 在 Alpine Linux Docker 容器中安装 ODBC 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51888064/

相关文章:

docker - 如何通过终端或 DockerFile 设置 Docker 容器的 RAM 内存

apache - 我的Docker镜像如何将apache作为服务运行

sql - 需要识别 ODBC DSN 连接的应用程序中的数据库名称

docker - 本地主机无法正常工作的docker Windows 10

python - 将 dockerfile 从目录配置为 'read'?

node.js - 如何测试在 kubernetes 集群上部署为 pod 的 Nodejs 应用程序?

node.js - 将不同的域指向单个 EC2 实例上的不同 Docker 容器?

docker - 如何连接通过 LAN 连接的两个不同主机上的容器

odbc - Filemaker GetAs...如何在网页上显示容器字段?

c++ - 如何在 C++ 中连接到 SQL Server