超级新手多级docker镜像构建问题



我需要构建包含terraform和gcloud CLI的自定义图像。非常新的码头,所以我正在努力与此,即使它看起来很直接。我需要从以下两个图像制作一个多级图像:

google/cloud-sdk:slim
hashicorp/terraform:light

我如何将地形二进制从hashicorp/terraform:light图像复制到google/cloud-sdk:slim图像?到目前为止,我所做的任何摸索都给我带来了无数的错误。只是希望有人能给我一个例子,这应该是什么样子的,因为这显然不是它:

FROM hashicorp/terraform:light AS builder
FROM google/cloud-sdk:slim
COPY --from=builder /usr/bin/env/terraform ./

谢谢!

这并不是多阶段的真正目的。对于您的情况,您可能希望选择其中一个映像并安装另一个工具,而不是从一个映像复制到另一个映像。

Multistage是指当你想构建一个应用程序,但你不想在最终图像中添加构建依赖关系,以减少图像大小和减少攻击面。

所以,例如,你可以有一个Go应用程序,你会有两个阶段:

  • 第一阶段将构建二进制文件,下载所有必需的依赖项。
  • 第二阶段将从第一阶段复制二进制文件,就是这样。

最新更新