如何运行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