2017-03-02 46 views
1

我是码头工人新手。如何以单身人员身份运行码头图像

我有一个图像,我想要运行,但我想要码头,看看如果该图像已经从另一个终端运行...如果它正在运行我不希望它加载另一个...

这是可以用docker完成的事情吗?

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

我试过寻找单身码头或类似的东西,但没有运气。

updates- 1.从ubuntu工作。 我的场景 - 从终端XI运行docker run Image_a 从终端YI运行docker run Image_a 当试图从终端Y运行时,我想要docker检查是否已经有一个docker与Image_a一起运行,并且答案是正确的 - 我希望docker不要运行端子Y

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306) – jww

回答

1

您可以使用下面的泊坞窗命令获取来自特定图像执行的容器:

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 

这种方法使用码头工人API和搬运工守护进程,因此,如果运行命令在背景或其它终端执行它并不重要。

Aother方法:

如果你有一个容器形成一个单一的形象:

尝试命名您的容器,你不能有2个容器使用相同的名称:

docker run --name uniquecontainer Image_a 

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

docker run -d --name uniquecontainer Image_a 
+0

我需要在使用docker命令时运行的内容,并且无法从内部运行docker ps码头...... 如果我做你说我必须先检查,然后运行码头......这是我不想做的...... – boaz

+0

我还是不了解你的要求,请编辑你的问题到更好地描述它。您是否想知道图像中的容器是否正在从另一个容器内运行? –

+0

我已经添加了更多信息,请告诉我它是否仍然不清楚。谢谢! – boaz

相关问题