Created
December 4, 2019 06:41
-
-
Save oxycoder/f60375113ac00823179f9633b56b516f to your computer and use it in GitHub Desktop.
LLVM 9 + CMake + MSSQL ODBC Docker image
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
# Check http://releases.llvm.org/download.html#9.0.0 for the latest available binaries | |
FROM ubuntu:18.04 | |
# Make sure the image is updated, install some prerequisites, | |
# Download the latest version of Clang (official binary) for Ubuntu | |
# Extract the archive and add Clang to the PATH | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
gnupg \ | |
ca-certificates \ | |
openssl \ | |
xz-utils \ | |
build-essential \ | |
curl && rm -rf /var/lib/apt/lists/* | |
# Install MSSQL tools | |
RUN curl -SLk https://packages.microsoft.com/keys/microsoft.asc | apt-key add - | |
RUN curl -SLk https://packages.microsoft.com/config/ubuntu/18.04/prod.list > /etc/apt/sources.list.d/mssql-release.list && \ | |
apt-get update && \ | |
ACCEPT_EULA=Y apt-get -y --no-install-recommends install msodbcsql17 && \ | |
# optional: for bcp and sqlcmd | |
ACCEPT_EULA=Y apt-get -y --no-install-recommends install mssql-tools && \ | |
# for unixODBC development headers | |
apt-get install -y --no-install-recommends unixodbc-dev && \ | |
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile && \ | |
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc && \ | |
rm -rf /var/lib/apt/lists/* | |
# Install cmake | |
RUN curl -SLk https://github.com/Kitware/CMake/releases/download/v3.16.0/cmake-3.16.0-Linux-x86_64.tar.gz | tar -zxC . && \ | |
mv cmake-3.16.0-Linux-x86_64 cmake-3.16.0 && \ | |
# save some space by remove cmake documents | |
rm -rf cmake-3.16.0/doc && \ | |
echo 'export PATH=/cmake-3.16.0/bin:$PATH' >> ~/.bashrc | |
# Install LLVM 9 | |
RUN curl -SLk http://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz | tar -xJC . && \ | |
mv clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04 llvm_9.0.0 && \ | |
echo 'export PATH=/llvm_9.0.0/bin:$PATH' >> ~/.bashrc && \ | |
echo 'export LD_LIBRARY_PATH=/llvm_9.0.0/lib:$LD_LIBRARY_PATH' >> ~/.bashrc && \ | |
rm -rf /var/lib/apt/lists/* | |
# Clean up | |
RUN echo 'y' | apt-get --purge autoremove curl xz-utils | |
ENTRYPOINT ["/bin/bash"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment