Как остановить и удалить докер-контейнер?

11

Я пытаюсь удалить докер / изображение / контейнер и все, что так или иначе связано с докером, но прежде всего мне нужно это остановить. Пока я пытаюсь выполнить эту команду:

docker stop $(docker ps -a -q)

Это дает мне ошибку:

[:/home/imran] 1 $ docker stop $(docker ps -a -q)

2015/01/16 00:37:38 Get http:///var/run/docker.sock/v1.14/containers/json?all=1: dial unix /var/run/docker.sock: permission denied

Usage: docker stop [OPTIONS] CONTAINER [CONTAINER...]  

Stop a running container by sending SIGTERM and then SIGKILL after a grace period

  -t, --time=10      Number of seconds to wait for the container to stop before killing it. Default is 10 seconds.

Как я могу удалить докер контейнер?

pushandpop
источник

Ответы:

12

Я исправил это! Пожалуйста, не забывайте - все ваши данные в контейнерах будут удалены!

Итак, прежде всего нам нужно выполнить следующие команды:

# adding new group
$ sudo groupadd docker

# adding user to the 'docker' group
$ sudo gpasswd -a ${your_username} docker

# restart the docker (documentation suggests to use 'docker.io' instead of 'docker',
# for me both variants work just fine!
$ sudo service docker restart

Затем мы должны выйти из системы, не использовать GUI-вариант, потому что он не работает для меня, и я был разочарован этим.

Вместо этого используйте эту команду:

sudo pkill -u username

Тогда нам нужно ...

1. Убить все работающие контейнеры

sudo docker kill $(docker ps -q)

2. Удалить все остановленные контейнеры

sudo docker rm $(docker ps -a -q)

3. Удалите все изображения без меток

sudo docker rmi $(docker images -q -f dangling=true)

4. Удалить все изображения

sudo docker rmi $(docker images -q)

Источники:
https://www.calazan.com/docker-cleanup-commands/
http://www.linuxquestions.org/questions/ubuntu-63/how-do-i-log-out-via-terminal-928183/

PS Возможно, другие ответы тоже верны, но на момент публикации этих ответов моя проблема уже была устранена, и я не могу проверить, верны они или нет. Спасибо @Andreas. Он указал на ошибку, что контейнеры уже были удалены. Поскольку я не нашел правильного и «все в одном» решения, я хочу рассказать вам, как вы можете это исправить.

pushandpop
источник
Как удалить оставшуюся IP-маршрутизацию из ifconfig? dockerпо-прежнему отображается как сетевое устройство
футов Дан
3

Вам нужно выполнить эти команды как root, т.е. используя sudo:

sudo docker stop $(sudo docker ps -a -q)

Или:

sudo sh -c "docker stop $(docker ps -a -q)"
Андреас Вайтен
источник
Это нормальный вывод: pastebin.com/FXhc5TF7 . Также я заметил, что моя "cmd-метка" изменилась. От 'user @ rootf8fds7 $:' до '[: / home / imran]'
pushandpop
Вероятно, это означает, что нет работающих контейнеров. Проверьте, просто запустив sudo docker ps.
Андреас Вайтен
Да, вы правы, я пробовал другой метод, прежде чем вы написали свой ответ, и это потому, что они не существуют xD. Как насчет проблемы с "cmd-label"? Это потому что докер . Должен ли я открыть новую тему? Я думаю, что будет сложно понять других, что происходит, но они не увидят этот разговор. Вы знаете, как это исправить?
pushandpop
Это действительно, вероятно, отдельная проблема.
Андреас Вайтен