首页 > 解决方案 > 通过构建步骤在 docker 中安装 apt 包并复制

问题描述

当您有一个复杂的RUN apt-get install部分需要在多个 docker 映像上重用时,重用它的最佳方法是什么?

我认为我们有的选择是

我在想这样的事情:

  1. 带有可重用 apt install 命令的 Dockerfile,标记为my-builder-img
FROM debian:buster
RUN ... apt-get install ...
  1. 重用复杂安装的 Dockerfile:
FROM my-builder-img as builder
#nothing here
FROM debian:buster
COPY --from=builder /usr/bin:/usr/bin # (...???)

TL;DR 如何重用 apt-get install 从以前的图像到新图像。

标签: dockerfileapt

解决方案


您只需使用直接放入所有包的图像。

当您创建工件并将其复制到新图像时,多阶段构建会大放异彩。如果您只是安装软件包,这些软件包将存在于映像中。

带有您想要的软件包的 Dockerfile:

FROM debian:buster
RUN ... apt-get install ...

将其标记为my-image.

现在,只需在其他 Dockerfile 中使用该图像,安装的包就可以使用了。

FROM my-image:latest
# other directives...

推荐阅读