Django over Docker не устанавливает mysqlclient - PullRequest
0 голосов
/ 19 декабря 2018

Я хочу интегрировать MySQL с Django, MySQL работает через Docker, и я поставил конфигурацию, подобную этой, для подключения к докеру db с Django:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'restaurant',
        'HOST': 'db',
        'PORT': '3306',
        'USER': 'root',
        'PASSWORD': 'root',
        'default-character-set': 'utf8',
        'OPTIONS': {
            'init_command': 'SET default_storage_engine=INNODB',
        }
    }
}

Но когда Django пытается подключиться кMySQL DB, он выдает мне эту ошибку:

enter image description here

Я пытался установить mysqlclient с pip, но у меня есть эта ошибка:

enter image description here

Это docker-compose.dev.yml и Dockerfile конфиги.

Если кому-то нужнополный код, здесь вы можете найти его и проверить с помощью docker-compose -f docker-compose.dev.yml up --build.

Спасибо:).

Ответы [ 2 ]

0 голосов
/ 19 декабря 2018

Другой ответ будет добавлением:

RUN apk add --no-cache bash mariadb-dev mariadb-client mariadb-libs python3-dev build-base

В файле Docker.

0 голосов
/ 19 декабря 2018

mysqlclient имеет собственные зависимости, которые должны быть установлены, прежде чем вы сможете pip install его.При работе в Docker, и особенно в Alpine, вы, вероятно, захотите переключиться на использование mysql-connector-python, которая является чистой библиотекой Python, которая не имеет собственных зависимостей l, ike mysqlclient.Обновите файл требований и обновите настройки, чтобы использовать mysql.connector.django, если хотите использовать mysql-connector-python.

...