我正在尝试修改我现有的Django Rest项目。我使用的是MySQL数据库而不是默认的SqlLite。
我的Dockerfile如下所示:
FROM python:2.7
ENV PYTHONUNBUFFERED 1
RUN mkdir /code
WORKDIR /code
COPY . /code/
RUN pip install -r requirements.txt和码头工-组成:
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:
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',
}
}发布于 2018-01-11 16:03:50
将数据库设置中的HOST从localhost更改为db。MySQL容器中没有web,因此web代码无法连接到数据库。
https://stackoverflow.com/questions/48210595
复制相似问题