Я установил проект django в Docker-контейнере, и все работает должным образом, за исключением того, что я не нахожу базу данных проекта в изображении mysql.
Dockerfile
FROM python:3
RUN mkdir /django-website
WORKDIR /django-website
COPY . /django-website
RUN pip install -r requirements.txt
docker-compose.yml
version: '3'
services:
db:
image: mysql:5.7
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=mywebsite
- MYSQL_USER=root
- MYSQL_PASSWORD=root
ports:
- '33060:3306'
volumes:
- /var/lib/mysql
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/django-website
ports:
- '8000:8000'
links:
- db
settings.py
DATABASES = {
'default': {
'ENGINE': "django.db.backends.mysql",
'NAME': "mywebsite",
'USER': "root",
'PASSWORD': "root",
'HOST': 'db',
'PORT': '3306',
}
}
Я запустил миграцию, и она заработала:
docker-compose run web python manage.py migrate
Я создал суперпользователя:
docker-compose run web python manage.py createsuperuser
Сервер разработки работает docker-compose up
, а сайт работаетработает, как ожидалось, проблема, когда я перемещаюсь в изображении mysql, я не нахожу связанную с моим проектом базу данных, которая является mywebsite
.
, не могли бы вы сказать мне, чего не хватает?если база данных не создана, где применяется миграция?
Заранее спасибо.