Alpine python映像上的MySQL失败-加载共享库libmariadb时出错?
我的Dockerfile:Alpine python映像上的MySQL失败-加载共享库libmariadb时出错?,python,docker,Python,Docker,我的Dockerfile: FROM python:3.8-alpine ... RUN apk add --no-cache --virtual .build-deps gcc libffi-dev openssl-dev musl-dev mariadb-dev \ && pip install --no-cache-dir -r /code/requirements/production.txt \ && apk del .build-d
FROM python:3.8-alpine
...
RUN apk add --no-cache --virtual .build-deps gcc libffi-dev openssl-dev musl-dev mariadb-dev \
&& pip install --no-cache-dir -r /code/requirements/production.txt \
&& apk del .build-deps gcc libffi-dev musl-dev openssl-dev mariadb-dev
...
要求:
django==2.2.9
mysqlclient==1.4.6
gunicorn==20.0.4
django-bootstrap3==12.0.3
django-fsm==2.7.0
djangorestframework==3.11.0
当我运行应用程序时,我从django获得以下信息:
ImportError: Error loading shared library libmariadb.so.3: No such file or directory (needed by /usr/local/lib/python3.8/site-packages/MySQLdb/_mysql.cpython-38-x86_64-linux-gnu.so)
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.
Did you install mysqlclient?
我已经安装了,如何解决此问题?我在
解决方案是在安装依赖项之前添加mariadb-connector-c-dev
包
RUN apk add --no-cache mariadb-connector-c-dev
我发现这个问题
解决方案是在安装依赖项之前添加mariadb-connector-c-dev
包
RUN apk add --no-cache mariadb-connector-c-dev
更好的方法是在连接MySQL时使用alpine以外的python工具。实际上,您可以使用
apk add--no cache mariadb-connector-c
更好的方法是在连接MySQL时使用alpine以外的python工具。实际上,您可以使用apk add--no cache mariadb-connector-c