2017-07-17 160 views
3

我在我的AWS ECR中有一个Docker镜像,我想将它转换为AWS AMI以创建一个带有环境的实例。是否可以从Docker镜像创建AWS AMI?

原因试图在泊坞容器

我必须在我的码头工人容器上的一些文本文件运行m4.xlarge实例内部计算密集型任务,ML使用的AMI。但是,对于Docker,实例的CPU利用率达到100%,并且该脚本被过早杀死。

但是,它在Docker外部的相同实例中运行良好。


所以,我想搬到AMI的从码头工人,但我也想利用码头工人对环境的创建和它使我在本地测试的速度。

那么,是否有可能通过我测试并部署到我的ECS注册表的Docker镜像创建AMI?

+0

这是构建AMI的标准工具:https://www.packer.io。我很确定它是按照你所描述的。 –

+0

听起来就像在CPU资源限制中运行一样。这是运行Docker的EC2实例还是AWS ECS?谈到ECR意味着你可能会使用ECS。 ECS将每台主机分成1024个cpu'份额'。 如果您运行时配置了硬盘cpu限制,那么在共享总数下,您不应该看到问题 –

回答

0

这看起来似乎是泊坞窗图像或码头工具存在问题或配置错误。 你提到实例在docker外部运行相同的脚本没有问题? 那么最好使用正在运行的脚本创建实例的AMI,并且根本不需要docker。 在docker中运行脚本可能最多意味着docker配置限制CPU,但不是主机CPU达到100%并杀死脚本。 您应该尝试运行具有相同图像的泊坞窗容器,但在sleep10000运行时,可以在容器内运行,运行感兴趣的脚本并查看失败的原因。

0

虽然有一个开源工具可以从docker文件创建/构建AWS AMI,但只支持ENV,RUN,COPY和ADD等指令,但没有直接的方法可以创建AWS AMI以外的Docker镜像。说明将被忽略。

开源工具构建AWS AMI从泊坞文件

https://github.com/mickep76/docker-build-ami

https://pypi.python.org/pypi/docker-build-ami/0.1.3

所以,如果你是在尝试继续与创建从一个适当的泊坞窗文件真正感兴趣的你码头形象。对于您可以参考以下链接

Is it possible to extract the Dockerfile from a docker container

How to generate a Dockerfile from an image?

相关问题