如何管理AWS ECS中docker镜像的版本?

2024-05-19

AWS ECS 服务指向一个任务定义,其中包含 docker 镜像的名称,包括标签。

因此,当我创建新版本的 docker 映像时,我有两种可能性:

  1. 将任务定义更新到新版本,然后更新服务以指向任务定义的新版本
  2. 使用一些标签指向最后一个版本,假设“当前”标签将始终指向最后一个版本,任务定义将包含“my-image:current”,然后我需要重新启动 ECS 服务

什么更好,为什么?


为每个构建使用唯一的标签,并更新任务定义以指向新标签(您的第一个选项)。

您将遇到的一个大问题是,一般来说,基于 Docker 的系统会尝试避免拉取已有的映像。如果您重新启动服务,但重新启动的节点发现它已经有my-image:current,它只会重新运行它,而不会拉取更新的版本。好像是这样can work – “最新”标签在 ECS 任务定义和从 ECR 拉取的容器实例中如何工作? https://stackoverflow.com/questions/56081320/how-does-latest-tag-work-in-an-ecs-task-definition-and-container-instances-pul包括一个似乎可以工作的设置 - 但仅通过观察很难判断您正在使用的确切版本。

避免使用“当前”或“最新”标签的第二个充分理由是能够回滚。例如,如果您使用基于时间戳的标记系统,部署版本 20200323,但它不起作用,则可以很容易地将任务定义重置回版本 20200322,以便在开发人员调试内容时返回到昨天的代码。如果昨天是“当前”,今天也是“当前”,那么就很难弄清楚什么是“非当前”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何管理AWS ECS中docker镜像的版本? 的相关文章

  • Docker For Windows CE:Kubernetes:无法连接到服务器 eof

    我根本找不到 无法连接到服务器 eof 的解决方案 希望我们能解决这个问题 并在将来搜索解决此问题时对某人有所帮助 我试图在屏幕截图中包含所有信息 如果需要更多信息 请告诉我 我已尝试添加所需的信息 如果您还需要或希望我尝试其他内容 请告诉
  • Docker 在 Powershell 中登录 gcr.io

    我正在尝试使用 Windows 10 登录 Google 容器注册表JSON 密钥文件 https cloud google com container registry docs advanced authentication using
  • 限制docker容器内的系统调用

    如何限制 docker 容器内进行的任何系统调用 如果给定进程进行系统调用 它将被阻止 或者我如何将 seccomp 与 docker 一起使用 您可以在 Docker 的 Seccomp 安全配置文件 https github com d
  • docker-proxy 进程的用途是什么

    当我查看我的 Linux 机器上所有正在运行的进程时 有很多docker proxy流程 似乎每个正在运行的容器 端口 都会产生一个 docker proxy 问题是我找不到任何处理 docker 实际启动的文档以及它们的关系 用法如何 有
  • 如何使用docker将metricbeat连接到elasticsearch和kibana

    我已经使用 docker compose 设置了 elasticsearch 和 kibana elasticsearch部署在 localhost 9200当 kibana 部署在localhost 5601 当尝试使用 docker r
  • 如何限制 docker 容器仅侦听来自本地主机的连接?

    我正在运行一个 docker 容器docker run p 8080 8080 其他计算机可以通过访问访问我的服务器 my ip 8080 但是 出于安全原因 我希望只有 localhost 127 0 0 0 能够访问我的服务器 我不希望
  • 将虚拟主机分配给 Docker 端口

    我设置了通配符 DNS 以便对自定义域 foo 的所有 Web 请求都映射到 Docker 主机的 IP 地址 如果我有多个运行 Apache 或 Nginx 实例的容器 每个容器都会将 Apache 端口 80 映射到某个外部入站端口 我
  • 如何通过名称而不是IP地址访问docker容器?

    有没有办法可以使用名称而不是 IP 地址访问我的 docker 容器 我听说过 Pipework 也见过一些 docker 的 dns 和主机名类型选项 但我仍然无法将所有内容拼凑在一起 感谢您的时间 我不确定这是否有帮助 但这就是我到目前
  • Docker Machine 如何标记为活动状态?

    我正在阅读 Docker Machine 用户指南https docs docker com v1 5 machine https docs docker com v1 5 machine 它说 You can see the machin
  • Docker pull:不允许操作

    我在拉取一些 docker 映像 但不是全部 时收到此错误 failed to register layer Error processing tar file exit status 1 operation not permitted 例
  • 如何对 Xcode 进行 docker 化

    出于 CI 的目的 我需要建立一个能够构建 iOS 应用程序的构建从属集群 目前 我依赖于一台 MacMini 目标是在将来部署更多台 并且我想在其上虚拟化多个从属设备 其中一些虚拟从站将构建 iOS 应用程序 其他虚拟从站将是用于各种目的
  • 写入 cgroup 参数 cpu.rt_runtime_us 时出错

    我正在尝试修改 cgroup 中 docker 容器进程的实时运行时参数 我正在关注这个教程 http www breakage org 2014 08 22 using sched fifo in docker containers on
  • 在 Windows 容器中使用命名管道(同一主机)

    我想要有 2 个 Windows 容器 在同一主机上运行 使用 Windows 10 客户端计算机和 Windows 的 docker 通过命名管道 不是匿名管道 进行通信 然而 我无法让它发挥作用 我的命名管道服务器类是在 GitHub
  • nsq 无法通过连接到 nsqlookupd 来消费消息

    我尝试使用 docker compose 来运行 nsq docker compose yml如下 version 3 services nsqlookupd image nsqio nsq command nsqlookupd ports
  • 无法在 Vagrant 上运行的 CentOS 7 上安装 Docker

    使用 Vagrant 文件的全新实例 VAGRANTFILE API VERSION 2 Vagrant configure VAGRANTFILE API VERSION do config config vm box chef cent
  • 从 Docker 容器发送多播数据包(到多播组)

    我有一个通过 UDP 多播发送消息的应用程序 我一直试图将其放在 docker 下 我在尝试从 Docker 容器发送多播数据包时遇到了很大的阻力 我已经能够通过 net host运行 docker 容器的选项 然而 我想坚持使用桥接配置
  • 在 Docker 容器中看不到 Django

    我想在一个简单的 Docker 容器中运行 Django 首先 我使用 Docker 文件构建了容器 里面没有什么特别的 只有 FROM RUN 和 COPY 命令 然后我用命令运行我的容器 docker run tid p 8000 80
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • Docker Hub API v2 令牌身份验证问题

    目前 我正在开发一个非常轻量级版本的 Docker 容器编排器 并且我必须能够从公共 Docker Hub 注册表获取图像摘要 我想使用 Docker Registry API v2 来实现此目的 我正在尝试使用以下 API 调用获取授权令
  • “ModuleNotFoundError:我的 Docker 容器中没有名为 的模块”

    我正在尝试在 Docker 容器中运行 python 脚本 但我不知道为什么 python 找不到任何 python 模块 我认为它与 PYTHONPATH 环境变量有关 所以我尝试将其添加到 Dockerfile 中 如下所示 ENV P

随机推荐

  • 如何使用一个命令删除 SQL 数据库中的所有索引?

    那么 如何通过一条命令删除 SQL 数据库中的所有索引呢 我有这个命令可以获取所有 20 个左右的 drop 语句 但是如何从这个 结果集 运行所有这些 drop 语句呢 select from vw drop idnex 给我相同列表的另
  • PLpgSQL 函数不返回匹配的标题

    当给定文本时 我试图返回电影名称以及演员和工作人员的数量 当我输入字符串并使用 ilike 时 我的查询返回不匹配的标题 我之前创建了一个视图 其中包含要在函数中输入的电影标题和工作人员数量 我的代码是 create or replace
  • Azure DevOps / VSTS 失败的计划构建的电子邮件通知

    计划的构建已设置为每天在特定时间运行 例如下午 13 点 通过 Azure DevOps VSTS 但是 失败的计划构建不会发送电子邮件通知 当手动启动构建或由代码更改触发构建时 就会发生这种情况 如何在计划构建失败时启用电子邮件通知 创建
  • 在 RMarkdown 输出到 PDF 时缩进而不添加项目符号点或编号

    之前有人问过如何在没有项目符号的情况下缩进文本 RMarkdown 中的点 但这是针对 HTML 输出的 在 RMarkdown 中缩进而不添加项目符号点或数字 https stackoverflow com questions 47087
  • 用于渲染 html 子集的 Django templatetag

    我有一些 html 在本例中是通过 TinyMCE 创建的 我想将其添加到页面中 但是 出于安全原因 我不想只打印用户输入的所有内容 有谁知道模板标签 最好是过滤器 只允许呈现 html 的安全子集 我意识到 Markdown 和其他人就是
  • Mercurial 合并的默认主干版本?

    当我们将 Mercurial 功能发布存储库中的更改合并到主干存储库时 我们总是会与 Maven POM 文件 pom xml 和 Mercurial hgtags 文件发生冲突 我们总是想保留主干版本 我们永远不需要功能发布存储库版本 有
  • 在网格中制作一个矩形图例,并标记行和列

    我有一个 ggplot 我将因子映射到填充和 alpha 如下所示 set seed 47 the data lt data frame value rpois 6 lambda 20 cat1 rep c A B each 3 cat2
  • 确保在 main() 之前调用静态方法

    我有一个工作类的集合 并且我需要能够使用单个工厂动态构造这些类的实例 其背后的原因是 新的工人类被频繁编写 我不想每次添加新的工人类时都必须更新每个工人类型的工厂类 目前的工作方式如下 我有一个名为WorkerImplementationL
  • 在 C# 中创建加密随机数的最快、线程安全的方法?

    请注意 在多个线程上并行生成随机数时 加密随机数生成器不是线程安全的 使用的发电机是RNGCryptoServiceProvider它似乎重复了很长一段随机位 128 位 重现此情况的代码如下所示 缺乏使用锁来保护访问RNGCryptoSe
  • html canvas动画卡顿

    谁能解释为什么提供的画布动画断断续续 我创建了一个测试存根来演示该问题 我在桌面上的 FF Chrome IE 以及 Android 上的 FF 和 Chrome 中看到了卡顿现象 口吃是由于垃圾收集造成的吗 似乎 raf 在每次调用时都会
  • MATLAB - 通过垂直连接子矩阵重新排列矩阵

    我在执行以下任务时遇到问题 假设一个 3x6 矩阵 A 0 2787 0 2948 0 4635 0 8388 0 0627 0 0435 0 6917 0 1185 0 3660 0 1867 0 2383 0 7577 0 6179 0
  • 如何解决 https://kubernetes-charts.storage.googleapis.com”不是有效的图表存储库

    我正在开发 helm 2 并尝试将 Tiller 部署为 pod gt helm init service account tiller 但我遇到以下错误 错误 初始化错误 看起来像 https kubernetes charts stor
  • GetFields 派生类型

    我试图反映派生类型中的字段 但它返回的是 基础类型 public class basetype string basevar public class derivedtype basetype string derivedvar 在某些函数
  • 如何防止 RealmSwift 列表中出现重复项?

    如何防止向列表中添加重复项RealmSwift 我有我的User作为领域对象 但真正的数据源是服务器 只是使用领域在本地缓存用户 当我从服务器获取当前用户数据时 我想确保存储在领域中的用户拥有来自服务器的所有播放列表 以及它们的曲目列表等
  • 如何在 sqlite 中将 2 列合并为新列

    我有一个包含 3 列的表 我必须将 2 列中的值按降序排列到一列中 A B C z 1 2 f 5 7 s 9 5 使用此示例 输出会将 B 列和 C 列中的值放入其中 如下所示 A B s 9 f 7 f 5 s 5 z 2 z 1 我当
  • “同时创建 xib 文件”按钮已禁用

    我在创建时遇到这个问题UIView s子类 创建 例如 UIViewControllers or UITableViewCells没关系 为什么会出现这种情况 I create view using cmd N and Xcode Vers
  • 在包加载之前如何知道 R 中特定函数属于哪个包?

    例如 我知道许多流行的功能 例如tbl df 我通常不记得它属于哪个包 即data table or dplyr 所以我必须始终记住并加载一个包 但我做不到 tbl df除非我加载了正确的包 在 R 控制台本身加载或安装包之前 有没有办法知
  • 如何制作 tumblr 风格的个人资料 url

    我想知道 tumblr 是如何做到这样的个人资料网址 http www username tumblr com http username tumblr com 我知道我们可以更改个人资料网址 http www website com pr
  • 在数据流模板中调用 waitUntilFinish() 后可以运行代码吗?

    我有一个批处理 Apache Beam 作业 它从 GCS 获取文件作为输入 我的目标是根据执行后管道的状态将文件移动到两个 GCS 存储桶之一 如果管道执行成功 则将文件移动到存储桶 A 否则 如果管道在执行过程中出现任何未处理的异常 则
  • 如何管理AWS ECS中docker镜像的版本?

    AWS ECS 服务指向一个任务定义 其中包含 docker 镜像的名称 包括标签 因此 当我创建新版本的 docker 映像时 我有两种可能性 将任务定义更新到新版本 然后更新服务以指向任务定义的新版本 使用一些标签指向最后一个版本 假设