在Docker容器中找不到已经安装的pip软件包

时间:2020-05-27 09:23:17

标签: image docker pip

我正在尝试设置运行python3.6的Docker映像。我的代码依赖于某些软件包,因此我使用pip安装所有必需的软件包来构建基本映像。 基本映像Dockerfile:

FROM centos:7

RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum install -y python3 python3-pip python36-devel python36-setuptools; yum clean all

COPY requirements.txt ./
# Install any needed packages specified in requirements.txt
RUN python3 -m pip install -r requirements.txt -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

CMD ["bash"]

我将此基本映像命名为myrepo:5000 / base-py。 我从myrepo:5000 / base-py构建测试图像。 像这样的Dockerfile:

FROM myrepo:5000/base-py

# pip install Django
RUN pip3 install Django==2.1.2  -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host=mirrors.aliyun.com

LABEL kemp.app="noded"
CMD ["bash"]

在这个新的测试容器中,我找不到一些安装在基本映像中的软件包!

我使用wagoodman / dive:latest工具分析此测试映像,它显示/usr/local/lib/python3.6/site-packages目录中的软件包。 但是当我在容器中时,只有Django在/usr/local/lib/python3.6/site-packages中。 dive analysis

[root@vmhost ~]# docker run --rm test ls /usr/local/lib/python3.6/site-packages
django
Django-2.1.2.dist-info

[root@vmhost ~]# docker run --rm myrepo:5000/base-py ls /usr/local/lib/python3.6/site-packages
aiozmq
aiozmq-0.7.1.dist-info
async_timeout
async_timeout-3.0.1.dist-info
attr
attrs-19.3.0.dist-info
certifi
certifi-2020.4.5.1.dist-info
chardet

我不知道问题出在哪里。 我应该怎么做才能将所有pip包放入新图片的容器中?预先感谢!

0 个答案:

没有答案