Py学习  »  docker

避免在Docker中有多个容器

Le garcon • 5 年前 • 1558 次点击  

我正在学习docker,经常要多次构建容器。

我使用以下命令: docker build -t sometag:someversion . 每次都会创建一个新的容器(正如我后来发现的那样)。

有没有办法在每次生成后只有一个容器?

或者我只需要删除容器后,它发出这样的命令: docker run --rm my-image 不使用 docker build ?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50009
 
1558 次点击  
文章 [ 1 ]  |  最新文章 5 年前
Marvin
Reply   •   1 楼
Marvin    6 年前

你的混合图像(基本上是“蓝图”)和结果 “docker生成” )和容器:这些是将从此图像运行的实例。

当你表演 docker构建 ,即使没有标签规范,它仍将替换以前的 形象 ,但不能破坏它。相反,它将解除标记(您将看到一个标记)。

当你表演 docker运行 ,您将创建 容器 从这个图像。当您停止它时,它不会移除容器:您可以看到所有已停止的容器 “docker ps-a” 命令。如果你想删除它,你必须 “码头经理室” 它。

好吧,但是有时候,你想做一些更有效率的(和一般性的) 打扫 ... 当你有未移动的容器或旧的悬挂图像时。 在这种情况下,docker提供 修剪 “操作,可以在任何类型的docker对象上执行:图像、卷、容器、网络、配置和机密(我可能忘记了一些,但这是基本的想法)。 为此,请键入

'docker <one among above object> prune' 

(真是太神奇了)。。。。

请注意,如果这些对象中的某些对象仍然链接到其他未移除的对象,则需要首先“修剪”:例如,如果已停止(但未移除)的容器仍使用未标记的图像,则必须首先移除容器!

还请注意,您可能需要在“之后下载一些图像” 图像修剪 “如果他们不再使用(这是一个问题,如果他们不再可用!)

最后,您可以使用系统prune清除所有这些文件:

"docker system prune"*

这很方便。。。但不是很微妙!