【问题标题】:deploying on AWS ECS via task definitions without dockerhub通过没有 docker hub 的任务定义在 AWS ECS 上部署
【发布时间】:2015-08-10 02:35:54
【问题描述】:

目前,我正在使用引用 dockerhub 中的自定义映像的任务定义在 ECS(Amazon EC2 容器服务)上部署我的 web 应用程序。有没有办法在不通过 dockerhub 的情况下做到这一点,即跨集群节点在本地构建/部署 dockerfile?

目前,我只能考虑通过 ssh 发送 shell 命令或使用 ansible 之类的工具。

也许我在这里遗漏了一些非常明显的东西......

【问题讨论】:

  • 您想使用“基本图像”并改进它们吗?或者您想构建自己的图像,然后推/拉它们?

标签: amazon-web-services amazon-ec2 dockerhub amazon-ecs


【解决方案1】:

回答问题有点晚了,但我自己才弄清楚这一点。 EC2 Container Registry(ECR,相当于亚马逊的存储库)对我来说运行良好,也许当时不存在?

我在本地构建容器。使用 AWS CLI 标记它们并将它们推送到 Amazon 的 ECR(其更高版本包括对 ECR 的支持),然后在 ECS 的任务定义中的该位置引用它们。像魅力一样工作。

http://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html

【讨论】:

  • 谢谢。我认为你的答案现在是相关的答案
【解决方案2】:

ECS 是一种运行容器的服务,而不是构建容器。它没有对它的原生支持,所以你不会错过一些明显的东西。

按照您的建议,您可以将 Dockerfile 分发到容器实例并在本地构建,但这实际上会更加困难,因为容器实例必须具备构建映像所需的一切,而且您必须将映像分发到其他容器实例。

您可以自己运行存储库并在 ECS 任务定义中为 image 参数指定不同的存储库 URL。您仍然需要负责构建映像,现在还要承担运行存储库的额外负担。

很抱歉成为坏消息的承担者,但目前没有更简单的工作流程。

【讨论】:

    猜你喜欢
    • 2021-10-22
    • 2020-12-13
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-22
    • 2022-01-01
    • 2017-12-30
    相关资源
    最近更新 更多