我尝试以下 Dockerfile:
# syntax=docker/dockerfile:1
FROM python:3.11-slim-bullseye
EXPOSE 80
WORKDIR /app
RUN apt-get update && apt-get install -y
RUN apt install gcc libmariadb3 libmariadb-dev libmariadb-dev-compat -y
RUN pip install --upgrade pip
RUN pip install Flask Flask-SQLAlchemy flask-marshmallow marshmallow-sqlalchemy
RUN pip install mariadb==1.0.0
COPY ./back .
CMD [ "python3", "app.py"]
我收到此错误:MariaDB Connector/Python requires MariaDB Connector/C >= 3.2.4, found version 3.1.16
当我尝试使用 mariadb==1.0.0 时,我收到此错误:MariaDB Connector/Python requires MariaDB Connector/C >= 3.1.3, found version 3.1.16
我看到这个帖子的答案在 Dockercontainer 中安装 MariaDB - 需要 MariaDB Connector/C >= 3.2.4,发现版本 3.1.16 https://stackoverflow.com/questions/73065908/installing-mariadb-in-dockercontainer-requires-mariadb-connector-c-3-2-4-f但不起作用
从 MariaDB 中提取最新的 MariaDB Connector/C 并成功安装最新的 python mariadb:
FROM python:3.11-slim-bullseye
EXPOSE 80
WORKDIR /app
RUN apt-get update && apt-get install -y gcc wget
RUN wget https://dlm.mariadb.com/2678574/Connectors/c/connector-c-3.3.3/mariadb-connector-c-3.3.3-debian-bullseye-amd64.tar.gz -O - | tar -zxf - --strip-components=1 -C /usr
RUN pip install --upgrade pip
RUN pip install Flask Flask-SQLAlchemy flask-marshmallow marshmallow-sqlalchemy
RUN pip install mariadb
Debian bullseye 打包的 libmariadb-dev 太旧了。
libmariadb3 是客户端插件,我不确定您是否需要这些。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)