ElasticBeanstalk:存储防弹码头的容器

时间:2016-10-13 11:03:12

标签: amazon-web-services docker elastic-beanstalk

我构建了一个在AWS中运行的Docker镜像。

在Dockerfile中,我放了一些从某些网站下载某些来源的命令,所以很明显,如果这些网站出于某种原因导致产生该图像的新节点失败。

如何安全抵御这种风险?

有没有办法存储预构建的docker容器,可以在需要时部署到节点(例如,当应用程序需要扩展时),而不是每次都运行Dockerfile?

3 个答案:

答案 0 :(得分:1)

在构建映像之后,docker不会重建它,直到dockerfile更改为止,因此新容器将继续使用原始映像并且不会从远程网站提取。

您还可以将Dockerfile添加到Docker hub这样的网站,这些网站将构建您的图像,并允许您将预构建图像下拉到您的计算机,而无需重建它们。

答案 1 :(得分:1)

当您使用AWS时,我会提及亚马逊的服务。

您将在EC2 Container Service上创建自己的注册表。 正如@ chris-tanner所提到的,您将上传您的Dockerfile,EC2将存储,构建并准备部署。还提供缩放,迁移和监控等功能。

访问EC2文档以开始使用。

答案 2 :(得分:1)

我认为您正在寻找docker push命令。构建Dockerfile时,docker会为以后运行的容器创建一个映像。检查docker images。然后可以将这些图像上传到注册表。 Docker Hub为每个用户提供了一个免费存储库,因此您可以在那里上传图像。

你也可以像@ willian-paixao所说的那样使用容器服务。

Docker还有一个非常方便的命令docker save。它会将您的图像保存在TAR文件中。然后您可以将其上传到S3。当您再次需要图像时,只需从S3下载它,然后制作docker load。使用这种方法,您可以使用图像存储,而不需要使用注册表。

此致