Docker image missing libtdsodbc.so driver
#71116
|
I am standing up an Airflow instance to manage ETL tasks against a Sybase database. In order to connect to this database, I have to use ODBC + FreeTDS, which I noticed are included in Airflow's Docker image. However, I can't find the If that driver is indeed missing, would it be in the general interest of Sybase users to include it in the I can't just create a modified image because I work in an enterprise that uses an airgapped environment, does not have an source of APT packages, and will only pull in images from verified Docker Hub publishers. I'm not asking for someone to create a workaround for my organization's red tape, I just think that this might improve accessibility for everyone who has the misfortune of working with Sybase. Please correct me if I'm wrong -- I'm used to using SQLite/Postgres and having everything just work, so I'm really out of my depth here with Sybase and TDS. |
Replies: 1 comment
|
Confirmed on apache/airflow:latest (3.3.0, Debian bookworm): libtdsodbc.so genuinely isn't in the image, you didn't just miss it. A The catch is that on Debian the FreeTDS ODBC driver lives in a separate For airgapped you'd build a child image or vendor the .deb. Whether to bake it in upstream is a maintainer call, worth a feature request. |
Confirmed on apache/airflow:latest (3.3.0, Debian bookworm): libtdsodbc.so genuinely isn't in the image, you didn't just miss it. A
find / -name 'libtdsodbc*'returns nothing, and dpkg shows freetds-bin, freetds-common, unixodbc and even msodbcsql18, but notdsodbc.odbcinst -q -donly lists "ODBC Driver 18 for SQL Server".The catch is that on Debian the FreeTDS ODBC driver lives in a separate
tdsodbcpackage, not in freetds-bin, so freetds-bin gives you tsql/libct but not the .so you register. I ranapt install tdsodbcin the image and it drops/usr/lib/<arch>/odbc/libtdsodbc.so, owned by tdsodbc. The Dockerfile's RUNTIME_APT_DEPS lines this up: freetds-bin + unixodbc are listed, tdsodb…