2017-03-02 48 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

相關問題