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 病毒定义。
有人可以建议如何实现这一目标吗?