首页 > 解决方案 > Flask 应用程序 MySQLdb 的 Docker 构建错误

问题描述

我刚刚开始使用 Docker,所以我决定尝试创建一个简单的烧瓶 API 应用程序。

问题是,我不断收到各种错误,具体取决于我尝试修复它们的方法。

我的requirements.txt

Flask
MySQL-python
bleach
bcrypt

我的Dockerfile

FROM ubuntu:latest
MAINTAINER Caleb Hester "naclcaleb@gmail.com"
ENV LANG C.UTF-8
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
ENTRYPOINT ["python2.7"]
CMD ["api.py"]

我收到此错误:EnvironmentError: mysql_config not found

我尝试了一些事情,apt-get -y build-dep python-mysqldb包括sources.list添加C.UTF-8.

我在这里很困惑。

有谁知道正确的docker文件是什么?

更新:

添加libmysqlclient-dev到 my后apt-get install,MySQLdb 错误消失了,但现在我收到了 cffi 的此错误:

arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-JrzOzV/python2.7-2.7.15~rc1=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/usr/include/python2.7 -c c/_cffi_backend.c -o build/temp.linux-armv7l-2.7/c/_cffi_backend.o
    c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
     #include <ffi.h>
              ^~~~~~~
    compilation terminated.
    error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1

更新:

我通过添加libffi-dev到我的apt-get install

标签: pythondockerflask

解决方案


您可能缺少 mysql deb 包。

尝试附加libmysqlclient-dev到该行

RUN apt-get install -y python-pip python-dev build-essential

所以你现在有

RUN apt-get install -y python-pip python-dev build-essential libmysqlclient-dev

推荐阅读