Docker提交没有运行

时间:2014-10-24 19:18:22

标签: docker

当我运行docker build .时,吐出的ID就是图像,这就是我认为已经提交给docker repo的内容。但是当我运行docker commit <id>时,它表示它不是有效的容器ID。我通常通过在容器中启动图像然后提交该ID来解决这个问题。但是,如果容器需要链接容器运行,我该怎么办?运行容器可能需要很长时间,尤其是在构建过程位于运行脚本中时。如果此操作失败,或者要求链接容器成功,则进程将退出,我的容器将关闭,这不允许我创建新映像。有没有办法建立您的dockerfile并同时提交到repo?替代?

1 个答案:

答案 0 :(得分:3)

Dockerfile旨在提供完全独立于主机的方式来重复构建映像,而不依赖于主机配置的任何方面。这就是为什么链接不包含在单个构建步骤中的原因,因为它会在构建时使构建依赖于主机上的其他容器。因为这个Dockerfiles不是构建容器的唯一方法。

当您必须拥有依赖于主机的构建环境时,请使用Dockerfile作为基础部件,安装依赖项等,然后使用docker从您选择的脚本/配置管理系统运行来设置其他容器并执行实际构建。构建完成后,您可以提交生成的容器,使用名称对其进行标记,然后将其推送到repo。

要解决帖子顶部的问题,如果要为Dockerfile生成的图像命名,请使用docker tag image-id name

  • 提交需要一个容器并生成一个图像
  • 标记采用图像并为其命名
  • 推送使图像成为一个名称,并使其可供以后使用。