3

我正在尝试从 centos 构建多级 docker 映像

FROM centos as python-base

RUN yum install -y wget \
tar \
make \
gcc \
gcc-c++ \
zlib \
zlib-devel \
libffi-devel \
openssl-devel \
&& yum clean all

WORKDIR /usr/src/

RUN wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

RUN tar xzf Python-3.7.0.tgz

WORKDIR /usr/src/Python-3.7.0

RUN ./configure --enable-optimizations

RUN make altinstall

RUN python3.7 -V

#=====================================================================================

FROM centos:cs as python37

COPY --from=python-base /usr/local/lib/python3.7 /usr/local/lib/python3.7
COPY --from=python-base /usr/local/bin/pip3.7 /usr/local/bin/pip3.7
COPY --from=python-base /usr/local/bin/python3.7 /usr/local/bin/python3.7

RUN ln -s /usr/local/bin/pip3.7 /usr/local/bin/pip
RUN ln -s /usr/local/bin/python3.7 /usr/local/bin/python

如上所示,我从 python-base 阶段构建了 python37。在这里,我将所需的工件从 python-base 复制到了 python37 阶段。

FROM centos as httpd-base

RUN yum -y groupinstall "Development tools"\
httpd-2.4.6-88.el7.centos.x86_64 \
&& yum clean all

所以我的问题是,需要从 httpd-base 阶段复制哪些工件以构建具有 httpd 的映像,而不是仅在安装期间需要的所有开发工具。

在这方面的任何最佳实践也值得赞赏。提前致谢。

4

0 回答 0