Ошибка:
connection = pyodb c .connect ('Driver = {FreeTDS};' pyodb c .OperationalError: ('08S01', u '[08S01 ] [unixODBC] [FreeTDS] [SQL Сервер] Невозможно подключиться: Adaptive Server недоступен или не существует (20009) (SQLDriverConnect) ') memorysnapshot_app_1 завершен с кодом 1
Dockerfile:
FROM ubuntu:latest
# install FreeTDS and dependencies
RUN apt-get update \
&& apt-get install -y python-pip python-dev \
&& apt-get install unixodbc -y \
&& apt-get install unixodbc-dev -y \
&& apt-get install freetds-dev -y \
&& apt-get install freetds-bin -y \
&& apt-get install tdsodbc -y \
&& apt-get install --reinstall build-essential -y
# populate "ocbcinst.ini"
RUN echo "[FreeTDS]\n\
Description = FreeTDS unixODBC Driver\n\
Driver = /usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so\n\
Setup = /usr/lib/x86_64-linux-gnu/odbc/libtdsS.so" >> /etc/odbcinst.ini
# install pyodbc
RUN pip install --trusted-host pypi.python.org pyodbc==4.0.26
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
# run app.py upon container launch
CMD ["python", "app.py"]
App.py
import pyodbc
app = Flask(__name__)
connection = pyodbc.connect('Driver={FreeTDS};'
'Server=localhost,1433;'
'Database=OTC;'
'UID=sa;'
'PWD=Password123!')
def test_localhost(cursor):
cursor = connection.cursor()
cursor.execute("SELECT * FROM otc.dbo.memorysnapshot") # WHATEVER QUERY YOU WANT TO EXECUTE GOES IN HERE
for row in cursor:
print render_template('index.html', cursor=data)
connection, cursor = pyodbc_localhost()
test_localhost(cursor)
cursor.close()
connection.close()
if __name__=="__main__":
app.run(debug=True, host='0.0.0.0')