当前位置: 首页 > 知识库问答 >
问题:

是否可以从Docker映像创建AWS AMI?

麹耘豪
2023-03-14

我的AWS ECR中有一个Docker映像,我想将其转换为AWS AMI,以便在环境中创建实例。

尝试在Docker容器上使用AMI的原因

我必须在m4中的Docker容器中运行计算密集型ML任务。xlarge在一些文本文件上的实例。然而,使用Docker时,实例的CPU利用率达到了100%,脚本也在提前终止。

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

因此,我想从Docker转移到AMI,但是我还想利用Docker来创建环境和加快测试速度,这在我的本地环境中是可以实现的。

那么,有没有可能从Docker映像中创建一个AMI,然后将其测试并部署到我的ECS注册表中?

共有2个答案

谷德本
2023-03-14

似乎docker图像或docker存在问题或配置错误。您提到该实例在docker之外运行相同的脚本,没有问题吗?然后最好使用运行的脚本创建实例的AMI,而您根本不需要docker。在docker中运行脚本最多可能意味着docker配置会限制CPU,但主机CPU不会100%运行并终止脚本。您应该尝试运行具有相同映像的docker容器,但运行sleep10000,这样您就可以进入容器中,运行感兴趣的脚本并查看失败的地方。

唐元凯
2023-03-14

没有直接的方法可以从docker映像中创建AWS AMI,尽管有一个开源工具可以从docker文件中创建/构建AWS AMI,但只支持ENV、RUN、COPY和ADD指令,其他指令将被忽略。

用于从Docker文件构建AWS AMI的开源工具

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

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

因此,如果您真的有兴趣尝试,请继续从您的docker映像创建适当的docker文件。为此,您可以参考以下链接

是否可以从docker容器中提取Dockerfile

如何从图像生成Dockerfile?

 类似资料:
  • 我在服务器中执行docker()清洁命令: 令我惊讶的是,这个命令删除了停止的容器。这就是问题所在,有些容器因为某种原因停止了,但我仍然想在未来使用它。现在它被删除了,有没有可能恢复错误删除的停止的容器?

  • -----编辑----- 这个问题Docker映像和容器之间有什么区别?没有回答我的问题。 我的问题是:为什么我们需要从图像而不是从DockerFile创建容器?首先从Dockerfile创建映像,然后再创建容器的目的/好处是什么?

  • 问题内容: 有什么方法可以从中创建对象吗? 我的要求是从RAR读取文件。我不是要写一个临时文件,而是要在RAR存档中找到一个文件。 问题答案: 您需要创建新文件并将内容复制到该文件: 我使用方便来避免手动复制流。它还具有内置缓冲。

  • 我有一个基于虚拟机的工作资源管理器。(Ubuntu)现在我以多种方式对其进行了定制,并希望在将来创建新VM时将其作为起始模板。 基本上,我想从我的自定义VM中轻松创建一个新的VM,就像我最初通过Azure门户通过bitnami选择LAMP VM创建它一样。 请注意,我知道Linux/Windows配置/取消配置过程。事实上,我可以接受并使用这样一种场景:机器没有被取消配置,只是被“克隆”(如果这在

  • 问题内容: 我们可以使用没有源映像(OS)的docker文件创建docker映像吗 我们不希望在所有应用程序docker映像中使用基本映像(centos或rhel)。我们想要将基本映像(centos或rhel)与应用程序映像分开,并在运行时将它们链接起来。可能吗? 当我 不使用 或构建docker映像时,docker抱怨:“提交前提供源映像” 我的docker文件如下所示: 问题答案: 您说过:“

  • 我创建了一个简单的asp。Visual Studio 2019中的net core应用程序,并添加了docker支持。 Dockerfile、. docker忽略和docker-comush文件都已创建。 在命令提示下,我导航到docker compose文件夹。yml文件存在,然后运行命令 我看到创建了容器并进行了端口映射,这样我就可以在浏览器中浏览web应用了。 所以当我在容器上运行以下检查命