0

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

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

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

4

2 回答 2

2

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

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

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

于 2016-04-29T15:31:21.443 回答
1

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

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

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

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

于 2015-08-10T03:48:31.483 回答