Last active
August 17, 2021 17:08
-
-
Save chevectra87/b974d974b44d314ca1b7da11dbf3ac7c to your computer and use it in GitHub Desktop.
Generate ODBC drivers for linux, to use pyodbc for MSSQL 17, in a container
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
####### Generate ODBC drivers for linux, to use pyodbc for MSSQL 17 ####### | |
FROM python:3.7 | |
RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - | |
RUN curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list | |
RUN apt-get update \ | |
&& ACCEPT_EULA=Y apt-get install -y msodbcsql17 libgssapi-krb5-2 unixodbc-dev mssql-tools \ | |
&& pip install pyodbc | |
## Generated files into container: | |
# /etc/odbc.ini | |
# /etc/odbcinst.ini | |
# /opt/microsoft/msodbcsql17/etc/odbcinst.ini | |
# /opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.1 | |
# /usr/bin/odbcinst | |
# /usr/lib/x86_64-linux-gnu/libodbc.so.2.0.0 | |
# /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 | |
# /usr/lib/x86_64-linux-gnu/libodbcinst.so.2.0.0 | |
# /usr/local/lib/python3.7/site-packages/pyodbc.cpython-37m-x86_64-linux-gnu.so | |
## Copy from container commands: | |
# mkdir -p ./opt/microsoft/msodbcsql17/lib64/ ./usr/local/lib/python3.7/site-packages ./usr/lib/x86_64-linux-gnu/ ./usr/bin/ ./etc | |
# docker container create --name temp msodbclibs | |
# docker container cp temp:/usr/local/lib/python3.7/site-packages/pyodbc.cpython-37m-x86_64-linux-gnu.so ./usr/local/lib/python3.7/site-packages/ | |
# docker container cp temp:/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.8.so.1.1 ./opt/microsoft/msodbcsql17/lib64/ | |
# docker container cp temp:/usr/lib/x86_64-linux-gnu/libodbc.so.2.0.0 ./usr/lib/x86_64-linux-gnu/ | |
# docker container cp temp:/usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 ./usr/lib/x86_64-linux-gnu/ | |
# docker container cp temp:/usr/bin/odbcinst ./usr/bin/ | |
# docker container cp temp:/etc/odbc.ini ./etc/ | |
# docker container cp temp:/etc/odbcinst.ini ./etc/odbcinst.ini | |
# docker container rm temp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Generate ODBC drivers for linux, to use pyodbc for MSSQL 17, in a container.
These modules can be embedded in a serverless package. It was the real motivation to create this Dockerfile.
TODO: Organize this for packing and delivery in production serverless service.