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

10

Я пытаюсь удалить docker / image / container и все вещи, которые каким-то образом связаны с докером, но в первую очередь мне нужно его остановить. Хотя я пытаюсь выполнить эту команду:

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 15.01.2015 в 18:40
источник

2 ответа

10

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

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

# 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)

Источники:
Ссылка
Ссылка

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

    
ответ дан pushandpop 16.01.2015 в 16:25
источник
2

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

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

Или:

sudo sh -c "docker stop $(docker ps -a -q)"
    
ответ дан Andreas Veithen 16.01.2015 в 14:29