Python docker构建错误

时间:2018-03-19 06:55:21

标签: python docker-compose

运行命令

时出现此错误
sudo docker-compose up

Docker文件:

 FROM alpine

ARG AWS_RDS_USER
ARG AWS_RDS_PASSWORD
ARG AWS_RDS_HOST
ARG AWS_RDS_DATABASE
ARG LOCALE_SERVICE_URL
ARG CRYPTO_KEY

ENV APP_DIR=/app
ENV APP_ENV=production
ENV DATABASE_CONNECTION_STRING=mysql://${AWS_RDS_USER}:${AWS_RDS_PASSWORD}@${AWS_RDS_HOST}/${AWS_RDS_DATABASE}
ENV LOCALE_SERVICE_URL=$LOCALE_SERVICE_URL
ENV CRYPTO_KEY=$CRYPTO_KEY

COPY build/requirements.txt build/app.ini ${APP_DIR}/
COPY build/nginx.conf /etc/nginx/nginx.conf
COPY api ${APP_DIR}/api

RUN apk add --no-cache curl python pkgconfig python-dev openssl-dev libffi-dev musl-dev make gcc

RUN curl -sS https://bootstrap.pypa.io/get-pip.py | python

RUN apk update && \
    apk add --virtual .build-deps autoconf gcc make g++ python-dev && \
    apk add nginx uwsgi uwsgi-python py2-pip py-mysqldb && \
    chown -R nginx:nginx ${APP_DIR} && \
    chmod 777 /run/ -R && \
    chmod 777 /root/ -R && \
    pip2 install --upgrade pip && \
    pip2 install -r ${APP_DIR}/requirements.txt && \
    apk del .build-deps && \
    rm -fR tmp/* && \
    pw_migrate migrate --database=$DATABASE_CONNECTION_STRING --directory=$APP_DIR/api/migrations -v

EXPOSE 80

CMD nginx && uwsgi --ini ${APP_DIR}/app.ini

对于解决方案,我尝试安装以下软件包

1)gcc包。

2)libffi包。

3)pip openssl包。

但仍然没有解决错误。应该感谢任何帮助

1 个答案:

答案 0 :(得分:0)

尝试建议的解决方案here

  

这是因为你需要一个有效的编译器,最简单的方法   这也是像这样安装构建基础包:

     

apk add --no-cache --virtual .pynacl_deps build-base python3-dev libffi-dev这将安装所需的各种工具   编译pynacl和pip install pynacl现在会成功。

     

请注意,使用--virtual标志是可选的,但这样做很容易   修剪图像,因为您可以在以后运行apk del .pynacl_deps   dockerfile因为它们不再需要而且会减少   图像的整体大小。