Como parar e remover um contêiner docker?

11

Eu estou tentando remover um docker / image / container e todo o material que está de alguma forma conectado com o docker, mas antes de tudo eu preciso pará-lo. Enquanto estou tentando executar este comando:

docker stop $(docker ps -a -q)

Isso me dá um erro:

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

Como posso desinstalar um contêiner docker?

    
por pushandpop 15.01.2015 / 19:40

2 respostas

11

Eu consertei! Por favor, não esqueça - todos os seus dados nos contêineres serão removidos!

Então, primeiro precisamos executar esses comandos:

# 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

Em seguida, precisamos fazer logout, NÃO use a variante GUI porque não funcionou para mim e fiquei desapontado com isso.

Em vez disso, use este comando:

sudo pkill -u username

Então precisamos ...

1. Mate todos os contêineres em execução

sudo docker kill $(docker ps -q)

2. Excluir todos os contêineres parados

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

3. Exclua todas as imagens "sem tag / pendentes"

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

4. Excluir todas as imagens

sudo docker rmi $(docker images -q)

Fontes:
link
link

P.S. Talvez outras respostas estejam corretas também, mas no momento em que essas respostas foram publicadas, meu problema já estava resolvido e não consigo verificar se estão corretas ou não. Graças a @Andreas. Ele apontou um erro que os contêineres já foram removidos. Desde que eu não encontrei nenhuma solução correta e "tudo em um" eu quero te dizer como você pode consertar isso.

    
por pushandpop 16.01.2015 / 17:25
2

Você precisa executar esses comandos como root , ou seja, usando sudo :

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

Ou:

sudo sh -c "docker stop $(docker ps -a -q)"
    
por Andreas Veithen 16.01.2015 / 15:29