运行命令
时出现此错误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包。
但仍然没有解决错误。应该感谢任何帮助
答案 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因为它们不再需要而且会减少 图像的整体大小。