如何运行docker图像作为单身人士

我是docker工人。

我有一个图像,我想运行,但我想docker,看看如果该图像已经从另一个terminal运行…如果它正在运行,我不希望它加载另一个…

这是可以用docker完成的吗?

如果有帮助,我使用特权模式运行docker。

我试图寻找单身docker或类似的东西,但没有运气。

更新 – 从Ubuntu的工作。 我的scheme – 从terminalXI运行docker run Image_a从terminalYI运行docker run Image_a试图从terminalY docker run Image_a时,我想docker检查是否已经有一个docker运行与Image_a,答案是真的 – 我想docker不是在Ydocker运行

您可以使用以下docker命令来获取从特定映像运行的所有容器:

 docker ps --filter ancestor="imagename:tag" 

例:

 docker ps --filter ancestor="drone/drone:0.5" 

输出示例:

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3fb00087d4c1 drone/drone:0.5 "/drone agent" 6 days ago Up 26 minutes 8000/tcp drone_drone-agent_1 

这个方法使用docker api和docker守护进程,所以如果在后台或其他terminal执行运行命令,这并不重要。

另一种方法:

如果您有一个容器形成单个图像:

尝试命名你的容器,你不能有2个同名的容器:

 docker run --name uniquecontainer Image_a 

下次你运行上面的命令,你会得到一个错误。 顺便说一句,考虑使用-d所以你不必切换terminal。

 docker run -d --name uniquecontainer Image_a