how to fix connection to MSSQL from docker

Huhn, Alexander 105 Reputation points
2023-02-15T13:34:58.89+00:00

I have a docker container that was able to access MSSQL a week ago, and now some updates were made with the image, but identical code, cannot access the server:

The image that worked:

FROM rocker/verse

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends build-essential libpq-dev python3.9 python3-pip python3-setuptools python3-dev

RUN pip3 install --upgrade pip

RUN apt -y install libpng-dev

WORKDIR /app

RUN apt-get install --yes xvfb libgconf-2-4

RUN wget https://github.com/plotly/orca/releases/download/v1.1.1/orca-1.1.1-x86_64.AppImage -P /home

RUN chmod 777 /home/orca-1.1.1-x86_64.AppImage

ENV PATH="${PATH}:/home/orca-1.1.1-x86_64.AppImage"

RUN cd /home && /home/orca-1.1.1-x86_64.AppImage --appimage-extract

RUN printf '#!/bin/bash \nxvfb-run --auto-servernum --server-args "-screen 0 640x480x24" /home/squashfs-root/app/orca "$@"' > /usr/bin/orca

RUN chmod 777 /usr/bin/orca

RUN chmod -R 777 /home/squashfs-root/

RUN CHROMEDRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE` && mkdir -p /opt/chromedriver-$CHROMEDRIVER_VERSION && curl -sS -o /tmp/chromedriver_linux64.zip http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip && unzip -qq /tmp/chromedriver_linux64.zip -d /opt/chromedriver-$CHROMEDRIVER_VERSION && rm /tmp/chromedriver_linux64.zip && chmod +x /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver && ln -fs /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver /usr/local/bin/chromedriver

RUN apt-get update && apt-get install -y gnupg2

RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list

RUN apt-get update && apt-get -y install google-chrome-stable

RUN wget https://downloads.vivaldi.com/stable/vivaldi-stable_5.5.2805.35-1_amd64.deb

RUN apt-get update && apt-get install -y ./vivaldi-stable_5.5.2805.35-1_amd64.deb && rm -rf /var/lib/apt/lists/*

RUN sudo su

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

RUN curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list

RUN exit

RUN sudo apt-get update

RUN sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17

COPY . /app

RUN pip3 install -r requirements.txt

RUN Rscript requirements.R

RUN Rscript save_plotly.R

RUN Rscript save_ggplot.R

RUN Rscript save_flextable.R

RUN Rscript port_level_analysis.R

EXPOSE 8501

RUN chmod -R 777 /app

HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health

ENTRYPOINT ["streamlit", "run", "app.py"]

the image that does not work:

FROM rocker/verse
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends build-essential libpq-dev python3.9 python3-pip python3-setuptools python3-dev
RUN pip3 install --upgrade pip
RUN apt -y install libpng-dev
WORKDIR /app
RUN apt-get install --yes xvfb libgconf-2-4
RUN wget https://github.com/plotly/orca/releases/download/v1.1.1/orca-1.1.1-x86_64.AppImage -P /home
RUN chmod 777 /home/orca-1.1.1-x86_64.AppImage
ENV PATH="${PATH}:/home/orca-1.1.1-x86_64.AppImage"
RUN cd /home && /home/orca-1.1.1-x86_64.AppImage --appimage-extract
RUN printf '#!/bin/bash \nxvfb-run --auto-servernum --server-args "-screen 0 640x480x24" /home/squashfs-root/app/orca "$@"' > /usr/bin/orca
RUN chmod 777 /usr/bin/orca
RUN chmod -R 777 /home/squashfs-root/
RUN CHROMEDRIVER_VERSION=`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE` &&     mkdir -p /opt/chromedriver-$CHROMEDRIVER_VERSION &&     curl -sS -o /tmp/chromedriver_linux64.zip http://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip &&     unzip -qq /tmp/chromedriver_linux64.zip -d /opt/chromedriver-$CHROMEDRIVER_VERSION &&     rm /tmp/chromedriver_linux64.zip &&     chmod +x /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver &&     ln -fs /opt/chromedriver-$CHROMEDRIVER_VERSION/chromedriver /usr/local/bin/chromedriver
RUN apt-get update && apt-get install -y gnupg2
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -     && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list
RUN apt-get update && apt-get -y install google-chrome-stable
RUN wget https://downloads.vivaldi.com/stable/vivaldi-stable_5.5.2805.35-1_amd64.deb
RUN apt-get update && apt-get install -y ./vivaldi-stable_5.5.2805.35-1_amd64.deb && rm -rf /var/lib/apt/lists/*
# Install odbc

RUN sudo su

RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -

RUN curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list > /etc/apt/sources.list.d/mssql-release.list

RUN exit

RUN sudo apt-get update && apt install -y apt-utils

RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections

RUN sudo apt-get remove -y libodbc2 libodbcinst2 odbcinst unixodbc-common

RUN sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
COPY . /app
RUN pip3 install -r requirements.txt
RUN Rscript requirements.R
RUN Rscript save_plotly.R
RUN Rscript save_ggplot.R
RUN Rscript save_flextable.R
RUN Rscript save_SQL_connection.R
EXPOSE 8501
RUN chmod -R 777 /app
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
ENTRYPOINT ["streamlit", "run", "app.py"]

Here is the error from the build logs

User's image

I isolated to this piece of code

User's image

What can be causing the cannot open connection error?

Azure Container Instances
Azure Container Instances
An Azure service that provides customers with a serverless container experience.
757 questions
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.