Как удалить docker compose ubuntu

Обновлено: 04.07.2024

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

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

Как пользоваться руководством?

Необязательно выполнять все разделы последовательно; выполняйте только необходимые разделы.

Синтаксис команд command $(command) доступен во многих популярных оболочках (bash, zsh, Windows Powershell).

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

Удаление конкретного образа

Команда docker images с флагом –a позволяет узнать ID образа, который нужно удалить. Она отображает все образы, включая промежуточные уровни. Определив образы, которые нужно удалить, вы можете передать их ID команде docker rmi:

docker images -a
docker rmi Image1 Image2

Удаление недействительных образов

Образы Docker состоят из нескольких уровней. Недействительные образы – это уровень образов, которые больше не имеют никакого отношения к образам с метками. Они впустую потребляют дисковое пространство. Чтобы найти такие образы, используйте команду docker images и флаг –f (filter) со значением dangling=true. Если вы уверены, что хотите удалить все эти образы, добавьте в команду docker rmi флаг –q и укажите ID образов через пробел.

docker images -f dangling=true

Чтобы найти и удалить образы:

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

Примечание: Если при создании образа не были добавлены метки, такой образ также окажется в списке недействительных образов, так как у него нет никакой связи с метками. Чтобы избежать этого, добавляйте метки при сборке образа. Команда docker tag позволяет добавить метку после сборки образа.

Удаление образов по шаблону

С помощью команд docker images и grep можно найти все образы, соответствующие шаблону. Чтобы удалить все совпадающие с шаблоном образы, можно передать команде docker rmi ID всех образов с помощью команды awk. Имейте в виду: эти утилиты не предоставляются платформой Docker и не всегда доступны в системе по умолчанию.

docker ps -a | grep "шаблон"

чтобы удалить образы:

docker images | grep "шаблон" | awk '' | xargs docker rm

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

Чтобы просмотреть все доступные образы Docker, добавьте флаг -a в команду docker images.

docker images -a

Чтобы удалить все образы, добавьте флаг –q и передайте образы команде docker rmi:

docker rmi $(docker images -a -q)

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

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

Команда docker ps с флагом –a отображает все доступные контейнеры (их имена или ID).

Чтобы удалить контейнер (или несколько контейнеров), передайте имя или ID команде docker rm:

docker rm ID_или_имя_контейнера ID_или_имя_контейнера1

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

Если при сборке контейнера вы точно знаете, что после выполнения задачи он станет ненужным, вы можете автоматически удалить его с помощью docker run –rm. Как только контейнер выполнит свою задачу и остановится, он будет удалён.

docker run --rm имя_контейнера

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

С помощью команды docker ps –a, флага –f и параметра status вы можете найти все доступные контейнеры, которые находятся в определённом состоянии: created, restarting, running, paused и exited. Например:

docker ps -a -f status=exited

Чтобы удалить все остановленные контейнеры, используйте флаг –q в команде docker rm и передайте ей ID контейнеров, которые нужно удалить:

docker rm $(docker ps -a -f status=exited -q)

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

Фильтры Docker можно комбинировать. Для этого нужно просто повторно добавить флаг –f. К примеру, чтобы вывести все контейнеры со статусом created (контейнер был создан, но запущен с помощью неправильной команды) и exited, можно использовать команду:

docker ps -a -f status=exited -f status=created

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

docker rm $(docker ps -a -f status=exited -f status=created)

Удаление контейнеров по шаблону

Поиск контейнеров по шаблону можно выполнить с помощью команд docker ps и grep.

docker ps -a | grep "шаблон"

Найдя все контейнеры, которые соответствуют заданному шаблону, вы можете удалить их с помощью команд docker rmi, awk и xargs.

Примечание: Эти утилиты не всегда поставляются системой по умолчанию.

docker ps -a | grep "шаблон" | awk '' | xargs docker rmi

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

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

Чтобы удалить контейнеры, передайте их ID командам docker stop и docker rm с помощью флага –q:

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

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

Удаление конкретного тома (Docker 1.9 +)

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

docker volume ls

Чтобы удалить том, укажите его имя в команде docker volume rm. Чтобы удалить несколько томов, укажите их имена через пробел.

docker volume rm том1 том2 том3

Удаление недействительных томов (Docker 1.9 +)

Том должен существовать независимо от контейнера. Следовательно, когда контейнер удаляется, том не удаляется автоматически. Он остаётся в системе, хотя больше не обслуживает ни один контейнер. Такие тома считаются недействительными и просто занимают место на диске.

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

docker volume ls -f dangling=true

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

docker volume rm $(docker volume ls -f dangling=true -q)

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

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

Примечание: Это работает только с безымянными контейнерами!

Когда контейнер успешно удалён, на экране отображается его ID. При этом в команде никак не обозначается удаление контейнера. Если том не имеет имени, он будет просто удалён из системы. Если у тома есть имя, он останется в системе.

docker rm -v имя_контейнера

Заключение

Данное руководство предлагает вам общие команды по удалению контейнеров, образов и томов Docker 1.9 +. Существует множество полезных комбинаций и флагов, которые не были описаны в этой статье. Узнать о доступных опциях можно в документации Docker для команд docker rmi, docker rm и docker volume rm.



Вместо предисловия или disclaimer )))
Продолжаю наполнять свой аккаунт на Пикабу полезной информацией по тематике Умный дом. Обращаю Ваше внимание, что это будут не всегда полноценные и пошаговые инструкции и туториалы, а скорее выдержки типа "шпаргалок", на случай посмотреть, если что-то забыл. Ну как бы я буду писать здесь "шпаргалки" и "запоминалки" для себя и на будущее, а Вы можете ими пользоваться или нет, как в старые добрые институтские времена. ))) Поэтому любой мой пост не претендует на правильность высказанного в нём моего мнения и истину моих умозаключений в конечной инстанции, я просто делюсь своим скромным опытом. Всё что Вы будете делать и повторять по моим постам, Вы делаете на свой страх и риск ;-)

Всё будем делать в командной строке.

Для этого, например, подключаемся через PuTTy по SSH к своей реальной или виртуальной машине.

1) Для получения списка новых пактов, выполните:

2) Для выполнения обновления пакетов, выполните:

3) Удаляем возможно оставшиеся зависимости пакетов:

4) Устанавливаем необходимые нам пакеты и зависимости:

Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации (Контейнеры - это стандартизированная единица программного обеспечения, которая позволяет разработчикам изолировать свое приложение от его среды)

В Ubuntu 20.04 Docker (docker-ce) можно установить простым скриптом, введя в терминал всего одну команду, как мы это уже делали в этом посте:

В Ubuntu/ Debian / Kali Linux в официальных репозиториях есть версия Docker - docker.io

Для её установки нужно будет ввести следующие команды:

Если вы хотите добавить себя в группу Docker, чтобы использовать Docker без sudo:


Не имеет особого значения, какую версию Docker (docker-ce или docker.io) вы установите. Подробнее об этом у меня есть в середине этого поста.

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

Команды для полного удаления Docker.

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

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

Docker Compose - инструмент для создания и запуска многоконтейнерных Docker приложений. В Compose, вы используете специальный файл для конфигурирования ваших сервисов приложения. Затем, используется простая команда, для создания и запуска всех сервисов из конфигурационного файла.

Установим (скачаем) docker-compose и сделаем его исполняемым:

Чтобы установить другую версию Compose, замените 1.28.2 версией Compose, которую вы хотите использовать.

И проверим версию:



Чтобы удалить Docker Compose (если вы установили с помощью curl):

Portainer - это универсальный инструмент управления контейнерами Docker и позволяет разворачивать контейнеры и управлять ими без написания кода.

Развертывание сервера Portainer(Portainer CE):

Эта команда настраивает автоматический запуск Portainer после перезагрузки, а также постоянное хранилище, чтобы ваши настройки не потерялись при удалении и повторном разворачивании контейнера. Чтобы убедится, что Portainer запущен выполните такую команду:



Подробнее про Portainer - здесь.

Если вы ставили Ubuntu 20.04 на бесплатный VPS сервер от Oracle, то необходимо открыть порт 9000. Для этого открываем ссылку в письме, которая пришла после регистрации в Oracle, вводим логин и пароль и попадаем в свою учетку, где следуем по пути: Сети - Виртуальные облачные сети - vcn- (ВАШ) - Сведения о списках безопасности. Альтернативный способ попасть туда из главного окна: "Настроить сеть с помощью мастера", "Запуск мастера VNC" нужно нажать "отмена", кликаем на свой "VNC-номер", далее в "ресурсах" нажимаем на "Списки безопасности" и кликаем на "Default Security List for vcn-номер" где добавляем правила для входящего трафика:


Portainer будет доступен по адресу ipaddress:9000 (ip-address вашей виртуальной машины) в браузере, где должна открыться такая страничка. Вводим свои данные (регистрируемся).



Вот пример контейнеров Home Аssistant Supervised установленной ранее на Ubuntu 20.04 на бесплатном VPS сервере от Oracle по инструкции с этого поста.



Здесь их легко можно перезапустить, остановить или даже "Remove" / "Kill". )))

How to Install and Use Docker Compose on Ubuntu 18.04

В этом руководстве мы покажем вам, как установить последнюю версию Docker Compose в Ubuntu 18.04, и изучим основные концепции и команды Docker Compose.

Как установить и использовать Docker Compose в Ubuntu 18.04

Docker Compose - это инструмент, который позволяет определять многоконтейнерные приложения Docker и управлять ими. Он использует файл YAML для настройки служб, сетей и томов приложения.

Compose можно использовать для разных целей. Развертывание приложений с одним хостом, автоматическое тестирование и локальная разработка - самые популярные варианты использования Docker Compose.

Те же инструкции применимы для Ubuntu 16.04 и любого другого дистрибутива на основе Debian, включая Debian, Linux Mint и Elementary OS.

Предпосылки

Прежде чем продолжить работу с этим руководством, убедитесь, что вы выполнили следующие предварительные требования:

Установите Docker Compose в Ubuntu

Установочный пакет Docker Compose доступен в официальных репозиториях Ubuntu 18.04, но он не всегда может быть последней версией. Рекомендуемый подход - установить Docker Compose из репозитория Docker GitHub.

На момент написания этой статьи последней стабильной версией Docker Compose является версия 1.23.1 . Перед загрузкой двоичного файла Compose посетите страницу выпуска репозитория Compose на GitHub и проверьте, доступна ли для загрузки новая версия.

Чтобы установить Docker Compose в Ubuntu 18.04, выполните следующие действия:

Загрузите двоичный файл Docker Compose в /usr/local/bin каталог с помощью следующей curl команды:

После завершения загрузки примените разрешения для исполняемых файлов к двоичному файлу Compose:

Проверьте установку, выполнив следующую команду, которая отобразит версию Compose:

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

Начало работы с Docker Compose

В этом разделе мы покажем, как использовать Docker Compose для настройки многоконтейнерного приложения WordPress в Ubuntu 18.04.

Начните с создания каталога проекта и перехода в него:

Запустите текстовый редактор и создайте файл с именем docker-compose.yml внутри каталога проекта:

Вставьте следующий контент:

Давайте проанализируем код построчно.

В первой строке мы указываем версию файла Compose . Существует несколько различных версий формата файла Compose с поддержкой определенных выпусков Docker.

Далее мы определяем две службы db и wordpress . Каждая служба запускает один образ и создает отдельный контейнер при запуске docker-compose.

  • Использует mysql:5.7 изображение. Если образ отсутствует в системе, он будет извлечен из общедоступного репозитория Docker Hub.
  • Использует always политику перезапуска, которая указывает контейнеру всегда перезапускаться.
  • Создает именованный том, db_data чтобы сделать базу данных постоянной.
  • Определяет переменные среды для mysql:5.7 изображения.

  • Использует wordpress изображение. Если образ отсутствует в вашей системе, Compose извлечет его из общедоступного репозитория Docker Hub.
  • Использует always политику перезапуска, которая указывает контейнеру всегда перезапускаться.
  • Устанавливает wp_data каталог на хосте /var/lib/mysql внутри контейнера.
  • Пересылает открытый порт 80 на контейнере на порт 8080 на хост-машине.
  • Определяет переменные среды для wordpress изображения.
  • depends_on Инструкция определяет зависимость между двумя службами. В этом примере db будет запущен раньше wordpress .

Из каталога проекта запустите приложение WordPress, выполнив следующую команду:

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

Compose извлечет оба изображения, запустит два контейнера и создаст wp_data каталог в каталоге вашего проекта.

На данный момент приложение Wordpress запущено и работает, и вы можете начать работу над своей темой или плагином.

Чтобы остановить создание, нажмите CTRL+C .

Вы также можете запустить Compose в автономном режиме, передав -d флаг.

Чтобы проверить запущенные службы, используйте ps опцию:

Когда Compose работает в автономном режиме, чтобы остановить использование служб:

Если вы хотите полностью удалить контейнеры, используйте down опцию:

Передача --volumes переключателя также приведет к удалению объемов данных:

Удаление Docker Compose

Если по какой-либо причине вы хотите удалить Docker Compose, вы можете просто удалить двоичный файл, набрав:

Заключение

Вы узнали, как установить и использовать Docker Compose в Ubuntu 18.04.

Использование Docker Compose может значительно улучшить ваш рабочий процесс и производительность. Вы можете определить свою среду разработки с помощью Docker Compose и поделиться ею с соавторами проекта.

Начните с обновления репозиториев программного обеспечения и пакетов программ. Откройте окно терминала и введите следующее:

Проверьте команду curl , введя:

Система должна реагировать, как показано на рисунке ниже:


curl выводит информацию о том, как получить список возможностей curl

Чтобы установить curl, введите следующее:

Загрузите последнюю версию Docker Compose

  1. Чтобы загрузить последнюю версию Docker Compose, используйте команду:

Эта команда загрузит Docker Container последней версии. (На момент написания этой статьи, Docker Compose 1.25.5 является последней версией.)

  • Опция –L указывает системе следовать любым перенаправлениям, если файл был перемещен
  • Параметр –o изменяет имя файла, поэтому его легче набирать
  • Файл будет сохранен в /usr/local/bin/
  1. Затем измените права доступа к файлу, чтобы разрешить запуск нового программного обеспечения в Ubuntu:

Вам не нужно запускать скрипт установки для Docker Compose. После загрузки программное обеспечение готово к использованию.

Примечание: вы также можете установить Docker Compose из официального репозитория Ubuntu. Просто запустите sudo apt-get install docker-compose . Тем не менее, рекомендуется установить пакет программного обеспечения из официального репозитория Docker GitHub. Таким образом, вы всегда устанавливаете последнюю версию.

Проверка установлен ли Docker Compose

Чтобы проверить успешность установки, проверьте версию с помощью:

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

Как удалить Docker Compose

Чтобы удалить Docker Compose, просто удалите бинарный файл:

Если вы установили Docker Compose с помощью apt-get, используйте следующую команду для удаления пакета:

Начало работы с Docker Compose

Запустите контейнер для примера с Docker Compose

  1. Вернитесь в свой домашний каталог (при необходимости):
  1. Создайте директорию и перейдите в нее:
  1. Создайте и отредактируйте новый YAML файл с конфигурацией
  1. Введите следующий текст в редактор:
  1. Нажмите Ctrl-X , чтобы выйти> Y , чтобы сохранить файл> Enter .

Если в вашей системе уже есть образы, вы можете отобразить список с помощью команды:

Выполнение этой команды сейчас создаст пустой список. Docker автоматически загрузит образ на основе этого файла конфигурации.

Докер будет искать локальный образ hello-world . Если он не сможет его найти, он его загрузит. Затем Docker создаст контейнер, запустит его и запустит скрипт hello-world . Вы должны увидеть вывод на вашем экране, как показано ниже:

Docker-compose теперь создает контейнер и запускает программу hello. Это действие подтверждает, что установка работает.

Он также отображает объяснение выполненных действий:

После завершения этой операции Docker закрывает контейнер. Вы должны увидеть командную строку в конце вывода.

Список Docker изображений и контейнеров

Чтобы отобразить список всех изображений Docker, хранящихся локально:

Опция –a показывает все образы докеров. Вы должны увидеть список с изображением hello-world .

Для просмотра списка всех контейнеров используйте:

Чтобы просмотреть все запущенные в данный момент контейнеры:

Обратите внимание, что этот список пуст. Это показывает, что как только образ hello-world завершается, он автоматически закрывается.

Удалить образ Docker и контейнер

Чтобы удалить изображение Docker, вам нужно знать его IMAGE ID. Используйте команду для перечисления изображений из отрывка выше, чтобы скопировать эту информацию.

Получив идентификатор, запустите следующий синтаксис, чтобы стереть это изображение:

Вы также можете использовать эту команду для удаления нескольких образов Docker:

Для удаления контейнера Docker используйте:

Замените [CONTAINER_ID] фактическим идентификатором контейнера.

Поскольку это тест, нам не нужно связывать дисковое пространство со старыми образами. Вот почему мы сотрем пример изображения. Вы не сможете удалить изображение, пока не удалите все контейнеры, связанные с ним.

Сначала удалите контейнер:

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

Вывод

Теперь вы знаете, как установить и использовать Docker Compose в Ubuntu 18.04. Начните создавать и управлять новыми контейнерами.

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