使用 Dockerrun.aws.json 通过 CLI 部署命令部署到 elasticbeanstalk

2024-01-07

我正在运行一个具有多个环境的 elasticbeanstalk 应用程序。这个特定的应用程序托管着托管 Web 服务的 docker 容器。

要将应用程序的新版本上传并部署到其中一个环境,我可以通过 Web 客户端并单击“上传和部署”,然后从文件选项中选择最新的 Dockerrun.aws.json 文件,该文件引用私有托管的容器的最新版本。上传和部署工作正常,没有问题。

为了让我自己和其他人更轻松地进行部署,我希望能够使用 CLI 上传和部署 Dockerrun.aws.json 文件。如果我使用 clieb deploy在没有任何特殊配置的情况下,压缩整个应用程序并将其发送到主机的正常过程会发生并失败(它无法推断出它只需要读取 Dockerrun.aws.json 文件)。

我找到了有关使用 .elasticbeanstalk/config.yml 文件控制上传内容的文档花絮。

使用这个语法:

deploy: artifact: Dockerrun.aws.json

文件上传后,实际部署到第一批实例上成功,然后部署到第二批实例上总是失败。

失败错误的风格是:“容器意外退出......”

任何人都可以解释或提供使用 CLI 部署单个 docker 容器应用程序的规范方法的链接吗?


事实证明,我在 config.yml 中列出的方法是正确的。我看到部署部分成功的原因是之前在主机上运行的 docker 容器没有被 EB 停止。

我认为发生的事情是 EB 发送了类似的内容

sudo docker kill --signal=SIGTERM $CONTAINER_ID而不是更常见的sudo docker stop $CONTAINER_ID

我正在运行的特定容器没有响应 SIGTERM,因此它只会坐在那里。当我使用 SIGKILL 在本地测试它时,它(显然)会正确停止,但仅 SIGTERM 无法阻止它。

问题不在于部署方法,而在于 EB 生成的输出的混乱以及我的误解。

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

使用 Dockerrun.aws.json 通过 CLI 部署命令部署到 elasticbeanstalk 的相关文章

  • 在未安装 docker 的情况下构建 docker 镜像

    是否可以在不安装 docker 的情况下构建镜像 在我的项目的 Maven 构建中 我想生成 docker 映像 但我不想强迫其他人在他们的机器上安装 docker 我可以想到一些安装了 docker 的虚拟框映像 但这是一种繁重的解决方案
  • Docker CentOS systemctl 不允许

    我尝试使用 systemctl 命令构建 CentOS 映像 但每次当我建造它时 我收到此错误 Step 5 7 RUN systemctl enable syslog ng systemctl start syslog ng gt Run
  • S3 静态网站中的目录列表

    我已经设置了一个 S3 存储桶来托管静态文件 使用网站端点 http s3 website us east 1 amazonaws com 时 它迫使我设置一个索引文件 当找不到文件时 它会抛出错误而不是列出目录内容 使用 s3 端点 s3
  • Azure git 部署 - 第二个程序集中缺少引用

    我正在尝试将 Bitbucket 部署设置到 Azure 网站 我成功链接了 Bitbucket 和 Azure 但是当我推送到 Bitbucket 时 我在 Azure 站点上收到以下错误 如果我单击 查看日志 它会显示以下编译错误 D
  • 在 mkdir 之后触摸文件时构建 Dockerfile 失败

    我是 Docker 新手 尝试使用简单的 Dockerfile 构建映像 FROM jenkins USER root RUN mkdir pv home a b RUN touch home a b test txt RUN mkdir
  • boto3 资源(例如 DynamoDB.Table)的类型注释

    The boto3库提供了几种返回资源的工厂方法 例如 dynamo boto3 resource dynamodb Table os environ DYNAMODB TABLE 我想注释这些资源 以便我可以获得更好的类型检查和完成 但我
  • 身份验证 AWS Cognito SRP

    我正在编写一个控制台 POC 来演示 AWS 认知身份验证 应用程序池而不是联合身份 作为我们的 API 网关身份验证机制 不在 AWS 中托管 这是用 C 编写的 我已经成功创建了一个用户 并确认了他们 但现在我需要进行身份验证以检索我可
  • 无法通过docker连接到ASP.NET Core

    大家好 人们已经关注这个问题太久了 需要一些帮助 我制作了一个 ASP NET Core 网站 没有什么特别的 只是 VS 2017 v 1 1 附带的模板 我使用 dotnet core cli 发布网站并使用此 dockerfile 构
  • 开发者环境-如何调用/消费其他微服务

    背景 我的环境 Java Play2 MySql 我在 Play2 gt S1 S2 S3 上编写了 3 个无状态 Restful 微服务 S1 消耗来自 S2 和 S3 的数据 因此 当用户点击 S1 时 该服务会异步调用 S2 S3 合
  • 使用 Python 从 AWS S3 下载文件

    我尝试使用以下代码将文件从 Amazon S3 存储桶下载到本地 但收到错误消息 无法找到凭证 下面给出的是我编写的代码 from boto3 session import Session import boto3 ACCESS KEY A
  • 使用前端 Dockerfile 无法解决

    我对 Docker 还很陌生 正在尝试使用纯 HTML 构建 Docker 映像 但我收到此错误消息 无法使用前端 dockerfile v0 解决 无法读取 dockerfile 打开 var lib docker tmp buildki
  • ASP.NET Core - 在 Visual Studio 2015 中通过 Docker 调试时出现问题

    我在 Visual Studio 中使用 Docker 运行基于 ASP NET Core 构建的应用程序时遇到问题 我的应用程序仅使用dnxcore50框架 我的project json 文件是 version 1 0 0 compila
  • 如何将 RedShift 上的表卸载到单个 CSV 文件?

    我想将一个表从Amazon RedShift迁移到MySQL 但是使用 unload 会生成多个数据文件 这些数据文件很难直接导入到MySQL中 有什么方法可以将表卸载到单个 CSV 文件中 以便我可以将其直接导入到 MySQL 中吗 为了
  • 使用 C# 和 .NET Core 在 AWS Cognito 用户池中进行用户管理

    如何使用 C 和 NET Core 3 x 管理 AWS Cognito 用户池中的用户 在文档中找不到有关它的任何内容 Attilio Gelosa 的原创文章 我写这篇文章是希望对其他人有帮助 我必须阅读一页又一页的文档 并从 AWS
  • MSBuild:部署未包含在项目中的文件

    我在一个 Web 项目上有一个预构建事件 该事件使用 Node js 缩小并连接 javascript 文件 这会在脚本文件夹中创建一个名为 BuiltScripts 的文件夹 该文件夹与脚本文件夹重复 只是文件被缩小了 当我进行部署时 我
  • Spring Cloud Gateway 无法在 Docker 上运行

    我已经配置了一个 Spring Cloud 网关来重定向到使用以下路由创建的服务器 Bean public RouteLocator myRoutes RouteLocatorBuilder builder return builder r
  • 如何使用 lambda 和 python 在 s3 上压缩文件

    我需要存档 s3 上存在的多个文件 然后将存档上传回 s3 我正在尝试使用 lambda 和 python 由于某些文件超过 500MB 因此无法在 tmp 中下载 有什么办法可以将文件一一流式传输并将其存档吗 不写入磁盘 流式传输至 S3
  • AWS EC2 自动缩放没有持续警报?

    我为自动缩放组创建了以下两个警报 Scale up如果 CPUUtilization gt 75 更改为状态 则有 1 个实例ALARM Scale down如果 CPUUtilization gt 30 更改为状态 则有 1 个实例OK
  • Spring Boot 和 Kafka,Producer 抛出 key='null' 异常

    我正在尝试使用Spring Boot with Kafka and ZooKeeper with Docker docker compose yml version 2 services zookeeper image wurstmeist
  • pq:无法调整共享内存段的大小。设备上没有剩余空间

    我在仪表板上有许多面板 数量约为 6 个 用于显示数据点图表 对 PostgreSQL 数据库的 Dockerized 实例进行查询 直到最近 面板都工作正常 有些面板停止工作并报告如下错误 pq 无法将共享内存段 PostgreSQL 2

随机推荐