我需要在Linux容器上一起安装Django + MS +Python3.6。
我运行了官方的码头Django + PostgreSQL指南,一切都很好,但是当我切换到使用姜戈-吡啶-天蓝色驱动程序将Microsoft 2008作为数据库时,我会得到以下错误:
localhost没有发送数据。
我希望在这方面提供任何帮助或指导。
# 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/发布于 2019-05-14 02:05:29
您是否通过端口8000与mysql交谈?
尝试在数据库配置中指定端口,如果这样做的话。Mysql通常使用端口3306,所以可能会尝试如下
# settings.py
DATABASES = {
'default': {
'ENGINE': 'sql_server.pyodbc',
'HOST': 'SERVERNAME',
'NAME': 'DATABASENAME',
'USER': '',
'PASSWORD': '',
'PORT': '3306',
'OPTIONS': {
"driver": "FreeTDS",
"host_is_server": True,
"unicode_results": True,
"extra_params": "tds_version=8.0",
}
}
}您还需要在码头撰写中指定这一项。
# docker-compose.yml
services:
# db:
# image: postgres
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/code
ports:
- "8000:8000"
- "3306:3306"https://stackoverflow.com/questions/56121732
复制相似问题