Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker提交而不运行_Docker - Fatal编程技术网

Docker提交而不运行

Docker提交而不运行,docker,Docker,当我运行docker build时。吐出的id在图像中,这就是我认为提交给docker repo的id。但是当我运行docker commit时,它会说它不是有效的容器id。我通常通过在容器中启动映像,然后提交该id来解决这个问题。但是如果容器需要运行链接的容器,我该怎么办?运行容器可能需要很长时间,尤其是当构建过程在运行脚本中时。如果此操作失败,或者需要链接的容器才能成功,则进程将退出,并且我的容器将关闭,这不允许我创建新映像。有没有办法构建dockerfile并同时提交回购协议?备选方案?D

当我运行docker build时。吐出的id在图像中,这就是我认为提交给docker repo的id。但是当我运行
docker commit
时,它会说它不是有效的容器id。我通常通过在容器中启动映像,然后提交该id来解决这个问题。但是如果容器需要运行链接的容器,我该怎么办?运行容器可能需要很长时间,尤其是当构建过程在运行脚本中时。如果此操作失败,或者需要链接的容器才能成功,则进程将退出,并且我的容器将关闭,这不允许我创建新映像。有没有办法构建dockerfile并同时提交回购协议?备选方案?

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

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

要回答文章顶部的问题,如果您想为docker文件生成的图像命名,请使用
docker标记图像id name

  • 提交获取一个容器并生成一个映像
  • 标记获取图像并为其命名
  • 推送会获取图像和名称,并使其可供以后拉取
如果容器需要运行非容器化的东西怎么办?