Image 在docker容器中找不到已安装的pip包

Image 在docker容器中找不到已安装的pip包,image,docker,pip,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

我正在尝试设置一个运行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目录中已经存在的包但是当我在容器中时,只有/usr/local/lib/python3.6/site包中的Django。

我不知道问题出在哪里。
我应该怎么做才能将所有pip包放入新映像的容器中?提前谢谢

在构建映像之后,您是否将其标记为
myrepo:5000/base py
,因为您在构建第二个docker映像时使用了它。Yeal,我将base py标记为myrepo:5000/base py,它们是相同的映像。在构建映像之后,您是否将其标记为myrepo:5000/base py,因为您在构建第二个docker图像时使用了它Yeal,我将base py标记为myrepo:5000/base py,它们是相同的图像。
[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