0

Dockerfile

ARG BASE_PROCESS_JRE_IMAGE
ARG BASE_PROCESS_JRE_IMAGE_TAG

FROM ${BASE_PROCESS_JRE_IMAGE}:${BASE_PROCESS_JRE_IMAGE_TAG}

# Update OS and add required tools
RUN echo "===> Installing nc clamav clamav-update clamd...." && \
    yum install -y \
        nc \
        clamav-0.103.1 \
        clamav-update-0.103.1 \
        clamd-0.103.1 && \
    yum clean all && \
    rm -rf /var/cache/yum

COPY config/freshclam.conf /etc/freshclam.conf
COPY config/scan.conf /etc/clamd.d/scan.conf

EXPOSE 3310/tcp
VOLUME ["/store"]

RUN echo "===> Downloading virus definitions..."  && \
    /usr/bin/freshclam

CMD ["/start-server.sh"]

当我尝试从此 Dockerfile 构建 docker 映像时,病毒定义不在最终映像中。所有这些步骤都在它们自己的中间图像中运行,一旦执行,这个中间图像就会被破坏。我希望/usr/bin/freshclam在创建映像期间仅在我的最终映像中保留 run 的输出,因为此命令会下载 clam-av 病毒定义。

有人可以建议如何实现这一目标吗?

4

0 回答 0