Django over Docker 不安装 mysqlclient

And*_*oya 0 django docker docker-compose

我想将 MySQL 与 Django 集成,MySQL 在 Docker 上运行,我将这样的配置与 Django 连接到 db docker:

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',
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是当 Django 尝试连接到 mysql 数据库时,它会抛出以下错误:

在此输入图像描述

我尝试使用 pip 安装 mysqlclient,但出现此错误:

在此输入图像描述

这些是docker-compose.dev.ymlDockerfile配置。

如果有人需要完整的代码,您可以在这里找到它,并使用docker-compose -f docker-compose.dev.yml up --build.

谢谢 :)。

2ps*_*2ps 5

mysqlclient 具有本机依赖项,​​必须在使用之前安装这些依赖项pip install。当在 docker 中运行时,尤其是在 alpine 中,您可能希望切换到使用mysql-connector-python一个纯 python 库,它没有任何本机依赖项,​​例如 mysqlclient。mysql.connector.django如果您想使用,请更新您的要求文件并更新要使用的设置mysql-connector-python