【发布时间】:2019-12-13 10:07:24
【问题描述】:
我是 docker 的新手,我正在研究 django python。当我尝试运行此命令时:
docker-compose run app sh -c "python app/manage.py migrate"
我收到错误Unknown MySQL server host 'db' (-2),谁能帮我解决这个问题?在这里,我添加了我的整个 dockerfile 和 db 连接:
Dockerfile
FROM python:3.7
ENV PYTHONUNBUFFERED 1
RUN apt-get update && apt-get install -y --no-install-recommends \
python-dev \
default-libmysqlclient-dev \
&& \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY requirements.txt /requirements.txt
RUN pip install -r /requirements.txt
RUN mkdir /app
COPY ./ /app
docker-compose.yml
version: "3"
services:
app:
build:
context: .
ports:
- "8000:8000"
volumes:
- ./:/app
command: >
sh -c "python app/manage.py runserver 0.0.0.0:8000"
# Services
db:
image: mysql:5.7
#restart: no
environment:
# Password for root access
MYSQL_ROOT_PASSWORD: '12345678'
MYSQL_DATABASE: 'trail_risk_inc_backend'
ports:
# <Port exposed> : < MySQL Port running inside container>
- '3306'
expose:
# Opens port 3306 on the container
- '3306'
# Where our data will be persisted
volumes:
- ./db-init:/docker-entrypoint-initdb.d
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'trail_risk_inc_backend',
'USER': 'root',
'PASSWORD': '12345678',
'HOST': 'db', # Or an IP Address that your DB is hosted on
'PORT': '3306',
}
}
【问题讨论】:
标签: python django docker docker-compose dockerfile