参数化 Docker 镜像前缀

2023-12-02

我有一个 Dockerfile,其中包含以下内容

# Build
FROM ${ECR_PREFIX}/maven:3.6.3-jdk-11 AS build
COPY src /home/app/src
COPY pom.xml /home/app
RUN mvn -f /home/app/pom.xml clean package

# Package
FROM ${ECR_PREFIX}/openjdk:11-jre-slim
COPY --from=build /home/app/target/application.jar application.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "application.jar"]

我尝试使用构建这个

export PREFIX=${AWS::AccountId}.dkr.ecr.${AWS::Region}.amazonaws.com
docker build -t backend --build-arg ECR_PREFIX=$PREFIX .

但这是行不通的。我真的不想对前缀进行硬编码,尤其是${AWS::AccountId}一部分是因为各种原因。

这里有什么指点吗?


您必须明确声明ARG在你的 Dockerfile 中。如果你use an ARG值在一个FROM line那么ARG需要先于任何FROM。 (其他ARG需要在使用它们的每个构建阶段重复。)

ARG REGISTRY=docker.io
FROM ${REGISTRY}/maven:3.6.3-jdk-11 AS build
REGISTRY=${AWS_ACCOUNT_ID}.dkr.ecr.${AWS_REGION}.amazonaws.com
docker build \
  -t $REGISTRY/backend:$(git rev-parse HEAD) \
  --build-arg REGISTRY=$REGISTRY \
  .
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

参数化 Docker 镜像前缀 的相关文章

随机推荐

  • 如何为 Jtable 中的行添加边框?

    我有一个 Jtable 我想通过向行添加边框来突出显示该行 我已经延长了DefaultTableCellRenderer我认为这项工作需要在getTableCellRendererComponent method 我猜测 由于似乎没有行的概
  • 如何手动向ggplot添加图例? - R [重复]

    这个问题在这里已经有答案了 我有以下情节 我用来生成该图的代码是 ggplot df aes x instance y total hits geom point size 1 geom line geom line aes x df in
  • 获取有序矩阵

    我想对矩阵的值进行排序并将其从最大值转换为最小值 如这个简单且可复制的示例所示 From d lt c 2 34 25 0 13 0 25 2 1 m lt matrix d 3 3 m 1 2 3 1 2 0 25 2 34 13 2 3
  • Android 两点之间的距离

    我有 3 种计算距离的方法 这 3 种方法都给了我不同的答案 double lat 6 924049 double lng 79 853807 double lat1 6 856461 double lng1 79 912748 如何计算两
  • 如何检查对象是一个集合? [复制]

    这个问题在这里已经有答案了 我在用着Set来处理我的任务 但是当我调试时 我得到了 mySet has不是一个函数 所以我的问题是如何检查它是否是Set 就像对于Array has Array isArray obj 您可以使用实例化 le
  • 使用 Roslyn 查找特定方法的所有方法调用

    我正在使用 Roslyn 开发代码分析器 我当前的任务是查找程序集中未使用的所有内部方法 我从一个MethodDeclarationSyntax并从中得到符号 然后我使用FindCallersAsync中的方法SymbolFinder 但即
  • 在ggplot2中制作带有离散x轴的线图

    我正在构建一个带有小平面网格的 ggplot2 图形 Y 轴是百分比 X 轴是浓度 以数字表示 每个方面有 3 组 0 24 和 48 小时 ggplot data MasterTable aes x Concentration y Per
  • Pandas - 计算所有列的 z 分数

    我有一个包含单列 ID 的数据框 所有其他列都是我想要计算 z 分数的数值 这是其中的一个小节 ID Age BMI Risk Factor PT 6 48 19 3 4 PT 8 43 20 9 NaN PT 2 39 18 1 3 PT
  • nmake 推理规则限制为深度 1

    我注意到了nmake exe将其推理规则搜索限制为一个丢失的文件 我发现网络上没有提到这个问题 我错过了什么吗 cat Makefile SUFFIXES a b d e all abc e a b copy b d copy d e co
  • React Router - 基于最后一页的 useNavigation

    我正在尝试在 React 应用程序中做一些非常简单的事情 我想要一个 后退 按钮将用户带到上一页 除非用户是从特定页面到达的 在这种情况下 后退 会将他们路由到不同的页面 类似于 const navigate useNavigate if
  • 通过 iTunes Connect 向 Apple 提交崩溃日志

    如何强制 iPhone 或 iPod Touch 向 Apple 发送 更新其崩溃日志 我的设备中的应用程序可能会崩溃 当我访问时iTunes连接 我没有看到任何崩溃日志 你不能强迫它 并且崩溃日志不会由设备上传到 Apple 当用户同步设
  • 可跨越协议

    我正在尝试转换以下 Swift 2 3 代码 Example usage 0 lt 778 binarySearch 0 lt 145 145 extension CollectionType where Index RandomAcces
  • 强制 SQL Remote 查询进行远程过滤而不是本地过滤

    我有一个 MS SQL 查询 它从远程服务器提取数据 我要提取的数据需要按运行时确定的日期进行过滤 当我像这样运行查询时 SELECT FROM SERVER Database dbo RemoteView WHERE EntryDate
  • Flutter:runZoned 函数上已弃用“onError”

    当我在 main dart 文件上使用最新的 Flutter v 1 17 1 和 Dart 2 8 2 版本时 收到此错误消息 onError 已被弃用 不应使用 请改用 runZonedGuarded 尝试用替换成员替换已弃用成员的使用
  • ,= 运算符

    在查看一些 Python 代码时 我注意到使用了类似的内容 操作员 a b 经过实验和非常仔细的检查赋值语句语法 我开始意识到这实际上是元组的 元组拆包 a 左侧长度为1的集合b在右边 因此 在一个简单的情况下 它类似于以下内容 但也适用于
  • vue-router — 未捕获(承诺中)错误:通过导航防护从“/login”重定向到“/”

    为什么 vue router 给我这个错误 需要明确的是 登录流程按预期工作 但我想 a 消除错误并 b 了解错误发生的原因 Error 未捕获 承诺中 错误 通过 a 重定向从 login 到 导航守卫 登录流程 开始注销 但输入需要身份
  • Xcode 6.类大小,在运行时看起来与 Interface Builder 和预览完全不同

    如同模拟器和故事板预览的区别 从左到右 故事板 故事板预览 模拟器 设备 我花了很多时间让这个工作在各种尺寸 任何 任何 紧凑 任何 常规 常规 等 所有在 预览 中看起来都很好 我thought应该模拟运行时 并且在模拟器 设备上看起来完
  • 如何在 ASP.NET Core 2 中添加自定义“无法反序列化”错误消息

    我正在构建一个 asp net core REST api 如何更改默认错误 无法将当前 JSON 数组 例如 1 2 3 反序列化为类型 Namespace Name Space Type 因为该类型需要 JSON 对象 例如 name
  • 在 Nexus 4 中从设备拉取 *.db 文件时出现“文件格式无效” - Android 5.1.1

    我正在学习Android开发 从设备打开拉取的数据库文件时 我总是收到此错误 文件格式无效 我用这个命令来拉 adb shell run as package chmod 666 data data package files databa
  • 参数化 Docker 镜像前缀

    我有一个 Dockerfile 其中包含以下内容 Build FROM ECR PREFIX maven 3 6 3 jdk 11 AS build COPY src home app src COPY pom xml home app R