【发布时间】:2019-05-14 01:10:59
【问题描述】:
我需要在 Linux Docker 容器上一起设置 Django + MS SQL + Python 3.6。
我运行了官方的Docker Django + PostgreSQL 指南,一切正常,但是当我使用django-pyodbc-azure 驱动程序切换到使用Microsoft SQL Server 2008 作为数据库时,我得到了错误:
本地主机没有发送数据
如果有任何帮助或指导,我将不胜感激。
# settings.py
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'HOST': 'SERVERNAME',
'NAME': 'DATABASENAME',
'USER': '',
'PASSWORD': '',
'OPTIONS': {
"driver": "FreeTDS",
"host_is_server": True,
"unicode_results": True,
"extra_params": "tds_version=8.0",
}
}
}
# docker-compose.yml
version: '3'
services:
# db:
# image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
# Dockerfile
FROM python:3.6
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
RUN apt-get update && apt-get install -y \
unixodbc \
unixodbc-dev \
tdsodbc
RUN apt-get install -y freetds-common freetds-bin freetds-dev
ADD odbcinst.ini /etc/
RUN pip install pipenv
COPY Pipfile Pipfile.lock /code/
RUN pipenv install --system
# COPY . /code/
【问题讨论】:
-
您可能希望在使用 mssql 时考虑许可,尤其是在您要启动一堆这些容器时。我和你在同一条船上(我的工作卡在 mssql 上,至少我们正在升级到 2016)
-
嗨,丹尼尔。我不想用 mssql 运行容器。我想连接到我可以使用 SQL Server Management Studio 正常访问的已经可用的 SQL Server 实例。有什么想法吗?
-
明白了。不,我没有。我还没有走那条路。不过,我计划在接下来的几周内完成。我会回来检查你的问题:)
标签: python sql-server django docker dockerfile