Як зупинити та вийняти контейнер для докера?


11

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

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.

Як я можу видалити контейнер докера?

Відповіді:


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 Він вказав на помилку, що контейнери вже вилучені. Оскільки я не знайшов правильного і "все в одному" забруднення, я хочу сказати вам, як ви можете це виправити.


Як видалити IP-маршрутизацію, що залишилася, з ifconfig? dockerвсе ще відображається як мережевий пристрій
6

3

Ці команди потрібно виконувати як root, тобто, використовуючи sudo:

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

Або:

sudo sh -c "docker stop $(docker ps -a -q)"

Це нормальний вихід: pastebin.com/FXhc5TF7 . Також я помітив, що мій "cmd-label" змінено. Від 'user @ rootf8fds7 $:' to '[: / home / imran]'
pushandpop

Ймовірно, це означає, що немає запущених контейнерів. Перевірте, просто запустивши sudo docker ps.
Андреас Вейтен

Так, ти маєш рацію, я спробував інший метод, перш ніж ти написав свою відповідь, і це тому, що у них немає xD. А що з проблемою "cmd-label"? Це тому, що докер . Чи потрібно відкривати нову нитку? Я думаю, що буде складно зрозуміти інших, що відбувається, все ж вони не побачать цієї розмови. Ви знаєте, як це виправити?
pushandpop

Це, мабуть, окрема проблема.
Андреас Вейтен
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.