在Docker中使用buildpack-deps构build,但依赖关系似乎没有安装?

我正在尝试编写一个Dockerfile来构build基于“buildpack-deps:jessie-scm”图像的Kaldi(一个开源语音识别系统)。 这是我的Dockerfile:

FROM buildpack-deps:jessie-scm RUN apt-get update RUN apt-get install -y python2.7 libtool python libtool-bin make RUN mkdir /opt/kaldi RUN git clone https://github.com/kaldi-asr/kaldi.git /opt/kaldi --depth=1 RUN ln -s -f bash /bin/sh WORKDIR /opt/kaldi RUN cd tools/extras && ./check_dependencies.sh RUN cd tools && ./install_portaudio.sh RUN cd tools && make -j 4 && make clean RUN cd src && ./configure --shared --use-cuda=no && make depend && make -j 4 && make -j 4 online onlinebin online2 && make clean 

这在“check_dependencies.sh”脚本失败,这是抱怨,各种基地依赖没有安装(g ++,zlib,automake,autoconf,补丁,bzip2)…但我的基础是这个图像的描述on( https://github.com/docker-library/buildpack-deps/blob/587934fb063d770d0611e94b57c9dd7a38edf928/jessie/Dockerfile )表明所有这些依赖关系都应该在基本映像中可用。 为什么我的构build在这里失败?

我应该注意到,我已经在Debian Jessie系统上尝试了这些构build步骤,并且安装了所需的依赖项,并且在那里成功了,所以我不认为这是Kaldi提供的构build脚本的问题,但肯定是Docker-相关的问题。

看起来我误解了buildpack-deps图片的不同标签。 标签*-scm不会将源代码控制工具添加到捆绑的构build工具和库中,它们只应用源代码pipe理工具,然后将构build工具添加到这些工具之上。 所以我应该只使用buildpack-deps:jessie not buildpack-deps:jessie-scm (后者基本上是一个已经安装了git等的Debian系统)。