docker rm

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

Использование

$ docker rm [OPTIONS] CONTAINER [CONTAINER...]

Примеры использования этой команды см. в разделе примеров далее.

Параметры

Имя, сокращенно

По умолчанию

Описание

--force, -f

Принудительно удаляет работающий контейнер (использует SIGKILL)

--link, -l

Удаляет указанную ссылку

--volumes, -v

Удаляет анонимные тома, связанные с контейнером

Примеры

Удаляет контейнер

Это удалит контейнер, указанный по ссылке /redis.

$ docker rm /redis

/redis

Принудительное удаление работающего контейнера

Эта команда принудительно удаляет работающий контейнер.

$ docker rm --force redis

redis

Основной процесс внутри контейнера, на который ссылается ссылка redis, получит SIGKILL, после чего контейнер будет удален.

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

Используйте команду docker-контейнер обрезка, чтобы удаляет все остановленные контейнеры, или обратитесь к команде система докеров, чтобы удаляет неиспользуемые контейнеры в дополнение к другим ресурсам Docker, таким как (неиспользуемые) образы и сети.

Кроме того, вы можете использовать docker ps с параметром -q / --quiet, чтобы создать список идентификаторов контейнеров для удаления, и использовать данный список в качестве аргумента для команды docker rm.

Объединение команд может быть более гибким, но менее переносимым, поскольку зависит от функций, предоставляемых оболочкой, а точный синтаксис может различаться в зависимости от используемой оболочки. Чтобы использовать данный подход в Windows, рассмотрите возможность использования PowerShell или Bash.

В приведённом далее примере используется docker ps -q для печати идентификаторов всех контейнеров, которые были закрыты ( --filter status=exited ), и данные контейнеры удаляются с помощью команды docker rm:

$ docker rm $(docker ps --filter status=exited -q)

Или с помощью утилиты Linux xargs;

$ docker ps --filter status=exited -q | xargs docker rm

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

$ docker rm -v redis
redis

Эта команда удаляет контейнер и все связанные с ним тома. Обратите внимание, что если том был указан с именем, он не будет удален.

Удаление контейнера и выборочное удаление томов

$ docker create -v awesome:/foo -v /bar --name hello redis
hello

$ docker rm -v hello

В этом примере том для /foo остаётся нетронутым, но том для /bar удаляется. То же самое относится и к томам, унаследованным с помощью --volumes-from.