Я создал образ докера с Alpine linux.
В моем Dockerfile есть следующая строка
RUN apk add --update py-numpy py-numpy-dev py-scipy py-numpy-f2py --repository http://dl-cdn.alpinelinux.org/alpine/v3.8/community
Я вижу некоторые сообщения в журнале в виде строк
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.8/community/x86_64/APKINDEX.tar.gz
(1/3) Installing py-numpy (1.14.3-r1)
(2/3) Installing openblas (0.3.0-r0)
(3/3) Installing py2-numpy (1.14.3-r1)
Executing busybox-1.28.4-r1.trigger
OK: 389 MiB in 104 packages
но когда я запускаю образ докера, захожу в python и запускаю
import numpy as np
, я получаю
ImportError: No module named numpy
сеанс полного терминалаздесь
/app # python
Python 2.7.15 (default, Sep 12 2018, 02:38:23)
[GCC 6.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named numpy
>>>
так что я немного озадачен тем, почему пакеты apk не поднимаются?
Любые мысли приветствуются.
Привет, Тайлер
Полный Dockerfile.
Примечание: Я также боролся с Пандами и Сципи, поэтому просматривал другие файлы докера в Интернете, и я уверен, что это можно немного почистить.
FROM python:2.7-alpine3.8
RUN apk update && apk upgrade \
&& apk add ca-certificates \
&& rm -rf /var/cache/apk/*
RUN apk add --no-cache --virtual=build_dependencies make cmake gcc g++ git linux-headers libstdc++ && \
apk del build_dependencies && \
apk add --no-cache libstdc++ && \
rm -rf /var/cache/apk/*
#RUN apk add --update python-dev python py-pip py-setuptools
RUN apk add --no-cache --update musl musl-dev zlib libxml2 libxml2-dev libxml2-utils libxslt libxslt-dev py-httplib2 && \
apk add --no-cache --update musl libffi libffi-dev libressl-dev gfortran libgfortran libstdc++ libgcc cython cython-dev && \
apk add --no-cache --update py-lxml py-jinja2 py-cffi py-cryptography py-netifaces py-mock py-markdown py-requests py-requests-oauthlib py-click && \
rm -rf /var/cache/apk/*
#from the Community alpine repo
RUN apk add --no-cache --update py-numpy py-numpy-dev py-scipy py-numpy-f2py --repository http://dl-cdn.alpinelinux.org/alpine/v3.8/community && \
rm -rf /var/cache/apk/*
ARG PANDAS_VERSION=0.23.4
RUN apk add --no-cache python-dev py-pip libstdc++ && \
apk add --no-cache --virtual .build-deps g++ && \
ln -s /usr/include/locale.h /usr/include/xlocale.h && \
pip install pandas==${PANDAS_VERSION} && \
apk del .build-deps
WORKDIR /app
ONBUILD ADD . /app
# Clean up APT when done
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/apk/*
CMD ["/bin/ash"]