Jak zatrzymać i usunąć kontener dokerów?

11

Próbuję usunąć dokera / obraz / kontener i wszystkie rzeczy, które są w jakiś sposób związane z dokerem, ale przede wszystkim muszę to zatrzymać. Podczas gdy próbuję wykonać to polecenie:

docker stop $(docker ps -a -q)

Daje mi błąd:

[:/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.

Jak mogę odinstalować kontener dokerów?

pushandpop
źródło

Odpowiedzi:

12

Naprawiłem to! Nie zapomnij - wszystkie twoje dane z pojemników zostaną usunięte!

Przede wszystkim musimy wykonać następujące polecenia:

# 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

Następnie musimy się wylogować, NIE używaj wariantu GUI, ponieważ nie działało to dla mnie i byłem rozczarowany tym.

Zamiast tego użyj tego polecenia:

sudo pkill -u username

Następnie musimy ...

1. Zabij wszystkie działające pojemniki

sudo docker kill $(docker ps -q)

2. Usuń wszystkie zatrzymane pojemniki

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

3. Usuń wszystkie obrazy „nieoznaczone / zwisające”

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

4. Usuń wszystkie obrazy

sudo docker rmi $(docker images -q)

Źródła:
https://www.calazan.com/docker-cleanup-commands/
http://www.linuxquestions.org/questions/ubuntu-63/how-do-i-log-out-via-terminal-928183/

PS Być może inne odpowiedzi też są poprawne, ale w chwili ich opublikowania mój problem został już rozwiązany i nie jestem w stanie sprawdzić, czy są poprawne, czy nie. Dzięki @Andreas. Wskazał na błąd, że pojemniki zostały już usunięte. Ponieważ nie znalazłem żadnego poprawnego rozwiązania „wszystko w jednym”, chcę wam powiedzieć, jak to naprawić.

pushandpop
źródło
Jak usunąć pozostały routing IP z ifconfig? dockernadal pojawia się jako urządzenie sieciowe
6 stóp Dan
3

Musisz wykonać te polecenia jako root, tzn. Używając sudo:

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

Lub:

sudo sh -c "docker stop $(docker ps -a -q)"
Andreas Veithen
źródło
Czy to normalne wyjście: pastebin.com/FXhc5TF7 . Zauważyłem też, że moja „cmd-label” została zmieniona. Od „użytkownik @ rootf8fds7 $:” do „[: / home / imran]”
pushandpop
Prawdopodobnie oznacza to, że nie ma uruchomionych kontenerów. Sprawdź, po prostu uruchamiając sudo docker ps.
Andreas Veithen
Tak, masz rację, wypróbowałem inną metodę, zanim napisałeś swoją odpowiedź i to, ponieważ nie istnieją xD. Co z problemem z „cmd-label”? Wynika to z dokera . Czy powinienem otworzyć nowy wątek? Myślę, że trudno będzie zrozumieć innych, co się dzieje, ale nie zobaczą tej rozmowy. Czy wiesz jak to naprawić?
pushandpop
To rzeczywiście prawdopodobnie osobny problem.
Andreas Veithen