我需要具有以下Docker映像的层次结构:
“基本”图片:
FROM python:3.5-slim-stretch
RUN apt install -y python3-enchant enchant libpq-dev gcc && apt clean
同样从“基础”继承的子图像:
FROM myprivaterepo:30999/base-image
ENV PATH /usr/lib/postgresql/9.5/bin:$PATH
RUN pip3 install -r requirements.txt
requirements.txt包含打算用gcc
构建的软件包,其中一个需要找到pg_config
软件包中包含的libpq-dev
二进制文件。问题是,即使它继承并开始从基本映像正常构建,也无法找到它们。 (尽管如果我将它们安装在子映像中,则可以正常工作-但这不是我想要的。)
知道我在做什么错吗?非常感谢。
答案 0 :(得分:1)
您是否曾经在没有该软件的情况下构建了基础映像?然后,这可能是docker映像的缓存问题,即您的子映像基于基础映像的旧缓存版本。
验证以下哈希是否匹配:
Successfully built <hash>
Step 1/x : FROM myprivaterepo:30999/base-image
---> <hash>
<hash>
应该相同。