2016-01-21 4 views
1

Играя с ELK и докером, мне нужно было перезапустить все службы.Docker - Невозможно подключиться к Docker Daemon к 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

docker rm es должен сделать трюк. Кроме того, если вы хотите удалить запущенный контейнер, вы можете добавить параметр -f (docker rm -f 'container_name')

Смежные вопросы