2016-01-21 213 views
1

使用ELK和docker時,我需要重新啓動每個服務。Docker - 無法連接到Docker守護進程到rm容器

docker ps告訴我,我沒有任何容器了。

docker run -it --rm [...] --name es elasticsearch - >Error response from daemon. The name "es" is already use by container [...]

所以我嘗試刪除所有容器:

docker ps -a -q | xargs docker rm - >Cannot connect to the Docker daemon. Is the docker daemon running on this host?

容器不起來,但仍然在這裏。

當然,我可以簡單地更改我的容器名稱,但它不正確。這意味着我有容器運行。即使我重新啓動我的服務器。

有什麼想法?

+2

'docker rm es'。 –

+0

刪除所有:'docker rm $(docker stop $(docker pq -qa))' –

回答

1

當您停止容器時,默認情況下它不會被移除,除非您提供--rm標誌。所以,它可能是這樣的,就像你之前已經啓動並停止了一些名稱爲es的容器,現在它已停止。但是不可能用現有名稱創建新的容器,即使現有名稱未運行。嘗試使用-a標誌,以顯示你所有的容器爲:

docker ps -a 

如果你有一些名爲es,只是手動刪除它:

docker rm es 

你也能夠提供-f標誌,即使它正在運行,也強制刪除es容器。

+0

我添加了--rm標誌,如您在原始文章中所見。這就是爲什麼我感到困惑。 – Ragnar

1

碼頭工人應該做的伎倆。此外,如果您想刪除正在運行的容器,則可以添加-f參數(docker rm -f'container_name')

相關問題