[Microsoft][Драйвер ODBC 17 для SQL Server]Поставщик SSPI: Учетные данные Kerberos недоступны

#python #sql-server #django #docker #pyodbc

Вопрос:

Я разработал приложение Django и подключил удаленный sql-сервер из приложения Django. Если я запущу его в среде anaconda, он будет работать нормально, но если я создам контейнер docker, он выдаст мне ошибку

sqlalchemy.exc.DBAPIError: (pyodbc.Error) ('HY000', '[HY000] [Microsoft][ODBC Driver 17 for SQL Server]SSPI Provider: No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_0) (851968) (SQLDriverConnect)') (Background on this error at: http://sqlalche.me/e/dbapi)

Вот Докерфайл

 FROM python:3

ENV PYTHONUNBUFFERED 1

WORKDIR /app

ADD . /app

COPY ./requirements.txt /app/requirements.txt



RUN apt-get update 
  amp;amp; apt-get -y install gcc gnupg2 
  amp;amp; curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - 
  amp;amp; curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list

RUN apt-get update 
  amp;amp; ACCEPT_EULA=Y apt-get -y install msodbcsql17 
  amp;amp; ACCEPT_EULA=Y apt-get -y install mssql-tools


RUN apt-get -y install unixodbc-dev 
  amp;amp; apt-get -y install python-pip 
  amp;amp; pip install pyodbc


RUN pip install --upgrade pip
RUN pip install Django
RUN pip install python-dotenv
RUN pip install --user django-crispy-forms
RUN pip install pandas
RUN pip install SQLAlchemy
RUN pip install django-pyodbc-azure-2019

COPY . /app
 

Вот в чем связь

engine = create_engine('mssql pyodbc://' 'SQLserver' '/' 'database' "?" 'driver=ODBC Driver 17 for SQL Server')

Комментарии:

1. Вы установили и настроили Kerberos в среде Linux?

2. Да добавил его в файл dockerfile ENV DEBIAN_FRONTEND=noninteractive RUN apt-get -qq update amp;amp; apt-get -yqq install krb5-user libpam-krb5 amp;amp; apt-get -yqq clean