python - 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
解决方案
您可能缺少 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
推荐阅读
- javascript - CSS 选择所有以前的兄弟姐妹进行星级评分
- django - Django 静态 - 谷歌云存储 - CDN
- ios - 如何在 Touch Down 实现时防止 SwiftUI 上的重新触发
- pandas - 对从 groupby 创建的数据帧执行 groupby
- c# - 旋转 3d 阵列
- angular - Angular - 如何使用 rxjs 显示我的购物车项目的当前长度
- python - 将 MQTT 与 HTTP 流服务器一起使用
- java - Java Math.signum 不评估锻炼错误
- python - 如何使用统一导入或解码 .mesh 文件(如果不可能,则使用 python)
- azure - 当我将 WPF 4.72 应用添加到我的解决方案时,为什么我的 Azure Build 会中断?