我刚开始使用Docker,所以我决定尝试创建一个简单的flask 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
我尝试了一些操作,包括添加apt-get -y build-dep python-mysqldb
,但是当我这样做时,我遇到了一个错误,该错误涉及需要向我的sources.list
添加一些URI,以及有关语言环境和{{1 }}。
我很困惑。
有人知道正确的docker文件是什么吗?
更新:
在我的C.UTF-8
中添加libmysqlclient-dev
之后,MySQLdb错误消失了,但是现在我遇到了cffi的错误:
apt-get install
更新:
我通过将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
答案 0 :(得分:1)
您可能缺少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