@robocop45

После подключения бд в Docker все данные стерлись, это нормально?

Подключил бд к docker
docker-compose
version: "3.8"
services:
  myapp:
    build: .
    volumes:
      - .:/django
    ports:
      - 8001:8001
    image: myapp:django
    container_name: new_django_container
    command: python manage.py runserver 0.0.0.0:8001
    depends_on:
      - db
  db:
    image: mysql:5.7
    environment:
      MYSQL_DATABASE: 'django-app-db1'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'true'
    volumes:
      - ./data/mysql/db:/var/lib/mysql


dockerfile
FROM python:3.8

ENV PYTHONUNBUFFERED 1

WORKDIR /django

COPY requirements.txt requirements.txt

RUN pip install --upgrade pip

RUN pip install -r requirements.txt

#COPY . .
#
#CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]

settings
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'django-app-db1',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'db',
        'PORT': '3306',
    }
}


далее собрал образ, сделал миграции внутри контейнера и когда запустил сервер, то оказалось, что бд пустая( если просто с помощью python manage.py runserver запустить сервер, то откажется, что бд так же пустая

вот моя структура
63e4a64921221830173790.png
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
@momoru_kun
'ENGINE': 'django.db.backends.sqlite3',

Замените 'ENGINE' c django.db.backends.sqlite3 на django.db.backends.mysql
Сейчас у вас из-за бэкенда БД sqlite просто создается база данных django-app-db1
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы