我的AWS ECR中有一个Docker镜像,我希望将其转换为AWS AMI,以便在环境中创建实例。
尝试在Docker容器上使用AMI的原因
我必须在某些文本文件的m4.xlarge
实例内的Docker容器中运行计算密集型ML任务。但是,使用Docker,实例的CPU利用率达到100%,并且脚本在成熟之前就会被杀死。
但是,它在Docker之外的同一个实例中运行良好。
所以,我想从Docker转移到AMI,但是我也想利用Docker来创建环境,以及它在我的本地启用的测试速度。
那么,是否可以从Docker镜像中创建一个AMI ,我测试并部署到我的ECS注册表?
答案 0 :(得分:1)
似乎Docker镜像或泊坞窗出现问题或配置错误。 你提到实例在docker之外运行相同的脚本没有问题吗? 然后使用正在运行的脚本更好地创建实例的AMI,您根本不需要docker。 在docker中运行脚本最多可能意味着docker配置限制CPU,但主机CPU不会达到100%并杀死脚本。 您应该尝试使用相同的映像运行docker容器,但是在sleep10000运行时,您可以进入容器,运行感兴趣的脚本并查看失败的内容。
答案 1 :(得分:1)
虽然有一个开源工具可以从docker文件创建/构建AWS AMI,但是只有支持的指令是ENV,RUN,COPY和ADD,其他说明,没有直接的方法可以从docker镜像创建AWS AMI。将被忽略。
用于从Docker文件构建AWS AMI的开源工具
https://github.com/mickep76/docker-build-ami
https://pypi.python.org/pypi/docker-build-ami/0.1.3
因此,如果您真的有兴趣尝试继续从docker镜像创建一个正确的docker文件。为此,您可以参考以下链接
Is it possible to extract the Dockerfile from a docker container