首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MySQL的Django rest码头

问使用MySQL的Django rest码头
EN

Stack Overflow用户
提问于 2018-01-11 15:29:59
回答 1查看 964关注 0票数 0

我正在尝试修改我现有的Django Rest项目。我使用的是MySQL数据库而不是默认的SqlLite。

我的Dockerfile如下所示:

代码语言:javascript
复制
FROM python:2.7

ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY . /code/
RUN pip install -r requirements.txt

和码头工-组成:

代码语言:javascript
复制
version: '3'

services:
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: docker
      MYSQL_DATABASE: docker
      MYSQL_USER: docker
      MYSQL_PASSWORD: docker
    ports:
      - "3306:3306"

  web:
    build: .
    command: python manage.py runserver 0.0.0.0:8000
    volumes: 
      - .:/code
    ports:
      - "8000:8000"

我没有运行docker-compose run web python manage.py migrate

docker-compose build是成功的

然而,docker-compose up最终没能说出Can't connect to local MySQL server。我猜我也需要在容器中安装MySQl,但不知道如何安装。我的码头文件或码头写作中遗漏了什么?

更新: My settings.py:

代码语言:javascript
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', #django.db.backends.mysql 
        'NAME': 'libraries', #local: libraries #server: 
        'USER': 'root', #root #root
        'PASSWORD': 'root', #local: root #server: 
        'HOST': 'localhost', #local: localhost  #server:
        'PORT': '3306',
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 16:03:50

将数据库设置中的HOST从localhost更改为db。MySQL容器中没有web,因此web代码无法连接到数据库。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48210595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档