Как удалить докер ubuntu

Обновлено: 06.07.2024

При работе с Docker вы можете быстро накопить большое количество неиспользуемых объектов, которые занимают значительное дисковое пространство и загромождают вывод, производимый командами Docker. Docker не удаляет неиспользуемые объекты, такие как контейнеры, изображения, тома и сети, если вы явно не укажете ему это сделать.

Эта статья служит «шпаргалкой», чтобы помочь пользователям Docker поддерживать порядок в своей системе и освобождать дисковое пространство, удаляя неиспользуемые контейнеры Docker, образы, тома и сети.

Удаление всех неиспользуемых объектов Docker

Команда docker system prune удаляет все остановленные контейнеры, зависшие образы и неиспользуемые сети:

Вам будет предложено подтвердить операцию:

Используйте параметр -f ( --force ), чтобы обойти приглашение.

Если вы хотите удалить все неиспользуемые изображения, а не только болтающиеся, добавьте к команде параметр -a ( --all ):

По умолчанию команда не удаляет неиспользуемые тома, чтобы предотвратить потерю важных данных. Чтобы удалить все неиспользуемые тома, передайте параметр --volumes :

Удаление контейнеров Docker

Контейнеры Docker не удаляются автоматически при их остановке, если вы не запустите контейнер с --rm флага --rm .

Удаление одного или нескольких контейнеров

Чтобы удалить один или несколько контейнеров Docker, используйте команду docker container rm , за которой следуют идентификаторы контейнеров, которые вы хотите удалить.

Вы можете получить список всех контейнеров , вызвав команду docker container ls с параметром -a :

Результат должен выглядеть примерно так:

Как только вы узнаете CONTAINER ID контейнеров, которые хотите удалить, передайте его команде docker container rm . Например, чтобы удалить первые два контейнера, перечисленные в выходных данных выше, вы должны запустить:

Удаление всех остановленных контейнеров

Чтобы удалить все остановленные контейнеры, вызовите команду docker container prune :

Если вы хотите получить список всех неработающих (остановленных) контейнеров, которые будут удалены с помощью docker container prune , используйте следующую команду:

Удаление контейнеров с помощью фильтров

Команда docker container prune позволяет удалять контейнеры в зависимости от определенного условия с помощью параметра --filter .

На момент написания этой статьи в настоящее время поддерживаются фильтры until и label . Вы можете указать более одного фильтра, используя несколько параметров --filter .

Например, чтобы удалить все изображения, созданные более 12 часов назад, вы должны запустить:

Остановите и удалите все контейнеры

Чтобы остановить все запущенные контейнеры, введите команду docker container stop а затем идентификаторы контейнеров:

Команда docker container ls -aq генерирует список всех контейнеров.

После остановки всех контейнеров удалите их с помощью команды docker container rm , а затем списка идентификаторов контейнеров.

Удаление образов Docker

Когда вы загружаете образ Docker, он сохраняется на сервере, пока вы не удалите его вручную.

Удаление одного или нескольких изображений

Чтобы удалить один или несколько образов Docker, сначала вам нужно найти идентификаторы образов:

Результат должен выглядеть примерно так:

После того, как вы найдете изображения, которые хотите удалить, передайте их IMAGE ID команде docker image rm . Например, чтобы удалить первые два изображения, перечисленные в выходных данных выше, вы должны запустить:

Удаление болтающихся изображений

Docker предоставляет команду удаления docker image prune которую можно использовать для удаления оборванных и неиспользуемых образов.

Будьте осторожны при выполнении этой команды. Если вы построили изображение без тега, оно будет удалено.

Удаление всех неиспользуемых изображений

Чтобы удалить все изображения, на которые не ссылается какой-либо существующий контейнер, а не только висячие, используйте команду prune с параметром -a :

Удаление изображений с помощью фильтров

С помощью команды docker image prune вы также можете удалять изображения в зависимости от определенного условия с параметром --filter .

На момент написания этой статьи в настоящее время поддерживаются фильтры until и label . Вы можете использовать более одного фильтра.

Например, чтобы удалить все изображения, созданные более семи дней (168 часов) назад, вы должны запустить:

Удаление томов Docker

Удаление одного или нескольких томов

Чтобы удалить один или несколько томов Docker, запустите команду docker volume ls чтобы найти ID томов, которые вы хотите удалить.

Результат должен выглядеть примерно так:

Как только вы найдете VOLUME NAME тома томов, которые хотите удалить, передайте их команде docker volume rm . Например, чтобы удалить первый том, указанный в выходных данных выше, запустите:

Удаление всех неиспользуемых томов

Чтобы удалить все неиспользуемые тома, выполните команду docker image prune :

Используйте параметр -f или --force чтобы обойти приглашение.

Удаление сетей Docker

Удаление одной или нескольких сетей

Чтобы удалить одну или несколько сетей Docker, используйте команду docker network ls чтобы найти идентификаторы сетей, которые вы хотите удалить.

Результат должен выглядеть примерно так:

После того как вы найдете сети, которые хотите удалить, передайте их NETWORK ID команде docker network rm . Например, чтобы удалить сеть с именем my-bridge-network , запустите:

Удаление всей неиспользуемой сети

Используйте команду docker network prune чтобы удалить все неиспользуемые сети.

Вам будет предложено продолжить:

Удаление сетей с помощью фильтров

С помощью команды docker network prune вы можете удалять сети в зависимости от условий, используя параметр --filter .

На момент написания этой статьи в настоящее время поддерживаются фильтры until и label . Вы можете использовать более одного фильтра, используя несколько параметров --filter .

Например, чтобы удалить все сети, созданные более 12 часов назад, запустите:

Выводы

Мы показали вам некоторые из распространенных команд для удаления контейнеров, образов, томов и сетей Docker.

Я следую за этим с помощью apt-get update , затем либо:, apt-get upgrade или apt-get upgrade docker.io , но все, что он мне дает, это:

Я использую Ubuntu 14.04 (верный) 64-битный сервер.

РЕДАКТИРОВАТЬ: я думаю, что я использовал скрипт в этом посте комментарий для установки Docker (так как он подразумевал, чтобы я мог просто набрать Docker вместо Docker.io)

Я не знаю, какова цель сценария, кроме переименования двоичного файла "docker.io" в просто "docker". @Braiam: Я тоже не был уверен, но так как я не слишком знаком с Linux linux O / S, я надеялся, что он делает что-то более полезное, чем это (или, возможно, это был просто лучший способ, чем просто переименовать двоичный файл) ).

Предположим, что это релиз Ubuntu Trusty (14.04), официально имеющий 0.9.1

Официальное руководство здесь. Установите докер для Ubuntu , старый релиз имел другое название пакета.

  • docker.io : используется для очень старой версии в репозитории Ubuntu по умолчанию (можете пропустить здесь)
  • docker-engine : используется до выпуска 1.13.x
  • docker-ce : с 17.03

Тогда вы можете легко обновить до последней версии докера

А в случае, если вы не хотите устанавливать последний пакет, вы можете сделать что-то вроде ниже.

Есть ли у вас плюсы / минусы использования этого метода по сравнению с тем, который я обнаружил при установке из htts: //get.docker.io? Я бы подумал, что тот из домена Docker кажется более официальным, но если это те же парни, которые управляют ppa docker-maint / testing /, то, возможно, это не имеет значения. Я не знаю, ссылка на ваш метод немного устарела, PPA - хороший выбор для пользователя Ubuntu, и это от команды разработчиков Docker Ubuntu, он также заслуживает доверия. Вероятно, как вы сказали, те же ребята, у которых есть лучший способ служить сообществу ;-) @Gerrat снова возвращается к вашему решению, если перейти на 1.0 сейчас gpg: no writable keyring found: eof -> использовать sudo .

Один из способов обновления до последней версии (без установки от источника), чтобы использовать инструкции здесь , предоставляемые Digital океан:

Добавьте ключ хранилища docker в apt-key для проверки пакета

Добавьте репозиторий docker к источникам aptitude:

Обновите репозиторий новым дополнением:

Наконец, скачайте и установите докер:

Это, однако, означает, что вы решаете использовать потенциально менее стабильную версию апстрима. Например, после обновления до вышестоящего докера 1.1.0 я начал видеть ошибку Driver aufs failed to remove root filesystem при удалении определенных контейнеров. Я никогда не видел этого с пакетом docker.io, который, по-видимому, более протестирован и стабилен в Trusty.

Краткий ответ: официальный документ по установке Docker теперь покрывает это для Ubuntu 14.04 (хотя это не так ясно, как могло бы быть).

I followed the uninstall instructions here. Then I ran these commands:

So after I did all this I ran this command to see if docker files are any where else:

I found several places where docker files still exists.

Docker exists in subfolders in the list above. I can post every path if you like. There is about 200 locations.

Is there a way to totally and completely remove docker everywhere?

1,633 2 2 gold badges 7 7 silver badges 4 4 bronze badges

8 Answers 8

To completely uninstall Docker:

To identify what installed package you have:

The above commands will not remove images, containers, volumes, or user created configuration files on your host. If you wish to delete all images, containers, and volumes run the following commands:

You have removed Docker from the system completely.


3,015 1 1 gold badge 7 7 silver badges 9 9 bronze badges I see Docker related entries when $ sudo iptables -L after this. In my case, I had to use sudo apt-get purge docker-ce-cli as well.

If you are on Ubuntu, I find it much easier to uninstall docker if it is installed with snap . You simply do:

and to delete all related files,

IMPORTANT UPDATES

As mentioned in the comments,

The second part is not needed and just dangerous, at least run it without -exec `rm -rf` <> + first

The second part could delete files that belong to different packages, e.g. /usr/share/vim/vim80/syntax/dockerfile.vim

So better to see what is going to be deleted first.

10.7k 6 6 gold badges 59 59 silver badges 81 81 bronze badges the snap command is well enough but take care before you delete everything on your system with docker in the name! The second part is not needed and just dangerous, at least run it without -exec `rm -rf` <> + first. That last find command has the potential to do more harm than good.

Add docker-ce-cli package also while doing purge of docker


Collaborated list collected from above posts and comments fro removing docker and docker-compose:

Steps performed in order to remove docker on Centos 7:

Hope this information could be helpful for someone.


Remove docker completly


You can identify the packages those files originated from with a command like dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Any such packages that you do not need, you can remove with sudo apt-get purge <package> . Please use care when you do so as some packages include some support for docker, but you might not want to remove, say, a text editor or a file manager for that reason.

If some files did not originate from packages (indicated by "dpkg-query: no path found matching pattern path"), you can remove them individually. Again, please use caution, as there may be files unrelated to the docker you want to remove, which simply have the string "docker" in their names.

Just an update on this, after I had to deal with the same issue.

success-or-shell

Поместите этот файл где-нибудь, например

/ bin, а затем используйте команду «success-or-shell your original command» в вашей пусковой установке.

22 ответа

Чтобы полностью удалить Docker:

dpkg -l | grep -i docker

Чтобы определить, какой у вас установлен установленный пакет:

sudo apt-get purge -y docker-engine docker docker.io docker-ce sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

sudo rm -rf /var/lib/docker sudo rm /etc/apparmor.d/docker sudo groupdel docker sudo rm -rf /var/run/docker.sock

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, из которых были созданы эти файлы, с помощью команды, например dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null). Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package>. Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: no path found matching pattern path»), вы можете удалить их отдельно. Опять же, пожалуйста, будьте осторожны, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «docker» в своих именах.

Чтобы полностью удалить Docker:

dpkg -l | grep -i docker

Чтобы определить, какой у вас установлен установленный пакет:

sudo apt-get purge -y docker-engine docker docker.io docker-ce sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

sudo rm -rf /var/lib/docker sudo rm /etc/apparmor.d/docker sudo groupdel docker sudo rm -rf /var/run/docker.sock

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, из которых были созданы эти файлы, с помощью команды, например dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null). Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package>. Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: no path found matching pattern path»), вы можете удалить их отдельно. Опять же, пожалуйста, будьте осторожны, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «docker» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Чтобы полностью удалить Docker:

Чтобы определить, какой у вас установлен установленный пакет:

Вышеупомянутые команды не будут удалять изображения, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:

Вы полностью удалили Docker из системы.

Вы можете определить пакеты, в которые были отправлены эти файлы, с помощью команды типа dpkg-query -S $(sudo find / -name '*docker*' -print 2>/dev/null) . Любые такие пакеты, которые вам не нужны, вы можете удалить с помощью sudo apt-get purge <package> . Пожалуйста, используйте осторожность, когда вы делаете это, так как некоторые пакеты содержат некоторую поддержку докеров, но по этой причине вы, возможно, не захотите удалить, скажем, текстовый редактор или файловый менеджер.

Если некоторые файлы не возникли из пакетов (указано «dpkg-query: путь не найден совпадающим шаблоном путь »), вы можете удалить их отдельно. Опять же, пожалуйста, используйте осторожность, так как могут быть файлы, не связанные с докером, который вы хотите удалить, который просто имеет строку «докер» в своих именах.

Читайте также: