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?

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ć.


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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.