- Остановить/Удалить все Docker контейнеры/images
- Остановить/Удалить все Docker контейнеры
- Остановить все Docker контейнеры.
- Удалить все Docker контейнеры
- Удалить все Docker images
- docker rm
- Options
- Examples
- Remove a container
- Remove a link specified with —link on the default bridge network (—link)
- Force-remove a running container (—force)
- Remove all stopped containers
- Remove a container and its volumes (-v, —volumes)
- Remove a container and selectively remove volumes
- Шпаргалка с командами Docker
- Установка
- Linux
- Mac
- Windows
- Реестры и репозитории Docker
- Вход в реестр
- Выход из реестра
- Поиск образа
- Pull (выгрузка из реестра) образа
- Push (загрузка в реестр) образа
- Первые действия с контейнерами
- Создание контейнера
- Первый запуск контейнера
- Переименование контейнера
- Удаление контейнера
- Обновление контейнера
- Запуск и остановка контейнеров
- Запуск остановленного контейнера
- Остановка
- Перезагрузка
- Пауза (приостановка всех процессов контейнера)
- Снятие паузы
- Блокировка (до остановки контейнера)
- Отправка SIGKILL (завершающего сигнала)
- Отправка другого сигнала
- Подключение к существующему контейнеру
- Получение информации о контейнерах
- Работающие контейнеры
- Логи контейнера
- Информация о контейнере
- События контейнера
- Публичные порты
- Выполняющиеся процессы
- Использование ресурсов
- Изменения в файлах или директориях файловой системы контейнера
- Управление образами
- Список образов
- Создание образов
- Удаление образа
- Загрузка репозитория в tar (из файла или стандартного ввода)
- Сохранение образа в tar-архив
- Просмотр истории образа
- Создание образа из контейнера
- Тегирование образа
- Push (загрузка в реестр) образа
- Сеть
- Создание сети
- Удаление сети
- Список сетей
- Получение информации о сети
- Подключение работающего контейнера к сети
- Подключение контейнера к сети при его запуске
- Отключение контейнера от сети
- Очистка Docker
- Удаление работающего контейнера
- Удаление контейнера и его тома (volume)
- Удаление всех контейнеров со статусом exited
- Удаление всех остановленных контейнеров
- Удаление контейнеров, остановленных более суток назад
- Удаление образа
- Удаление неиспользуемых (dangling) образов
- Удаление неиспользуемых (dangling) образов даже с тегами
- Удаление всех образов
- Удаление всех образов без тегов
- Остановка и удаление всех контейнеров
- Удаление неиспользуемых (dangling) томов
- Удаление неиспользуемых (dangling) томов по фильтру
- Удаление неиспользуемых сетей
- Удаление всех неиспользуемых объектов
- Docker Swarm
- Установка Docker Swarm
- Инициализация Swarm
- Подключение рабочего узла (worker) к Swarm
- Подключение управляющего узла (manager) к Swarm
- Список сервисов
- Список узлов
- Создание сервиса
- Список заданий Swarm
- Масштабирование сервиса
- Обновление сервиса
- P.S.
Остановить/Удалить все Docker контейнеры/images
Хотелось бы рассказать как можно остановить или удалить все Docker контейнеры. Если до сих пор не знаете как это сделать, тогда данная статья « Остановить/Удалить все Docker контейнеры » поможет вам.
Остановить/Удалить все Docker контейнеры
Ничего сложного тут нет, ниже приведены команды.
Остановить все Docker контейнеры.
# docker stop $(docker ps -a -q)
Удалить все Docker контейнеры
Опция –q (–quiet) — дает возможно узнавать идентификаторы самих контейнеров с утилитой ps.
Так же, есть нативная команда чтобы удалить все неиспользуемые контейнеры с хоста:
$ yes| docker container prune
Удалить все Docker images
Смотрим что имеется в системе:
# docker rmi $(docker images -q)
┌(vagrant@vagrant-ansible)─(✓)─(02:42 pm Wed Feb 01) └─(~/magento2/php)─(2 files, 72Kb)─> sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE 063421c62d7a 23 minutes ago 594 MB nginx test dab545fbd9bf 2 days ago 182 MB php 7-fpm 65ec79b1c89d 7 days ago 377 MB debian jessie e5599115b6a6 2 weeks ago 123 MB ┌(vagrant@vagrant-ansible)─(✓)─(02:51 pm Wed Feb 01) └─(~/magento2/php)─(2 files, 72Kb)─> sudo docker rmi $(sudo docker images -q) Deleted: sha256:063421c62d7ade9928ca666ad8dc0f07d5e546e1b53fc5bb89b5bcf36cdad9ea Deleted: sha256:b0c6ccd75a1930b4e0cdb75aae28d962fe9b4cecd55aea2b8b0c3b365f08a78d Deleted: sha256:0da8e714a17c186fcd351c53fe25ae4d0105b7ad267227a308e9926bea5d95da Deleted: sha256:7e0a2e0026ee0f4ab26096ed0ca7594c267de67078657dd8dd6819e767b90b27 Untagged: nginx:test Deleted: sha256:dab545fbd9bf2566a31ec47cee304d61e288eb598ea469a9de2afd79e523da1c Deleted: sha256:e6da6fb03708a99307f2582d5ebb0e8dc47f63e98dfc063fdbac43f60e3b2578 Deleted: sha256:cf5aa7032eb791eaa23be959084274c611f60ea6a3b62281d9683dd67153dc85 Deleted: sha256:3aeae8a9989b76772293e0fdf179bfa6f7b7a82e31e6835e5bff57c4ba897c28 Deleted: sha256:e7014a4458090bf79716fc4670cbdad6cbc36525300f931b1f4ddb437f496033 Deleted: sha256:13adabc029b38e096c64bedd406b4eb1bb0314223e7996e0d58dbc9c923644e7 Deleted: sha256:22822c235b2309275ee5f79937adda468a54f7fab953257899eb232ef4612b13 Deleted: sha256:5be10d4710f377eb207186005d3e335abb64c33c140d615d24fcfa9a3cc2dfa5 Untagged: php:7-fpm Untagged: php@sha256:9b2dbe7685c8c1c9ac43b567e1df3612cd2675da9ae637d0ff2c2c4025d51e6d Deleted: sha256:65ec79b1c89dcec422e73d6f248323d1326ad026aef02955d4571ccbfe7bf91a Deleted: sha256:5f37d22adac789b4d945118836e44069197935728890c89c9af64ac3f9842ff4 Deleted: sha256:e146e2a73bb94fa24068da8aab32eadb5e7f14224b542d137a4ac16fa1cdca27 Deleted: sha256:bf6af13fd9216a4193148d13627556c7cee7b18be4722f8ca3e4ea6775a2fdce Deleted: sha256:72e066d4f36a2d40f1c8d1a0d9e77008c523c09ea8dd81df3407939a1e7d0d52 Deleted: sha256:dcb6b5b90fe5b308ce9be7913b426acd0d636c528277694e53e1f0198b5cf9a8 Deleted: sha256:9a3e5909a4fe6b3f447587787371ae79fd1ea2985287b06e4834b14a3baae769 Deleted: sha256:9a3e6283158eb52e55bcd8d3550724be68508a5994774337cac50526b6a171ff Deleted: sha256:c1353703109f5062e4ccac91f2631464e113d94a811b1f6b95b46cbe2db6ecd4 Untagged: debian:jessie Untagged: debian@sha256:abbe80c8c87b7e1f652fe5e99ff1799cdf9e0878c7009035afe1bccac129cad8 Deleted: sha256:e5599115b6a67e08278d176b05a3defb30e5564f5be6d73264ec560b484514a2 Deleted: sha256:a2ae92ffcd29f7ededa0320f4a4fd709a723beae9a4e681696874932db7aee2c ┌(vagrant@vagrant-ansible)─(✓)─(02:51 pm Wed Feb 01) └─(~/magento2/php)─(2 files, 72Kb)─> sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE ┌(vagrant@vagrant-ansible)─(✓)─(02:51 pm Wed Feb 01) └─(~/magento2/php)─(2 files, 72Kb)─>
Для удаления всех неиспользоваемых образов, можно использовать еще:
$ docker images -q |xargs docker rmi
$ docker rmi $(docker images | awk '< print $3; >')
$ docker rmi -f $(docker images | grep "" | awk "")
Так же, есть нативная команда чтобы удалить все неиспользуемые images с хоста:
Хочу отметить следующее — что имеется «-f» опция для того чтобы принудительно удалить docker образы (images)/ docker контейнеры:
# docker rmi -f $(docker images -q) # docker rm -f $(ps docker -q -a)
Вот и все, все гениальное — просто! На этом, моя тема «Остановить/Удалить все Docker контейнеры» завершена.
docker rm
For example uses of this command, refer to the examples section below.
Options
Name, shorthand | Default | Description |
—force , -f | Force the removal of a running container (uses SIGKILL) | |
—link , -l | Remove the specified link | |
—volumes , -v | Remove anonymous volumes associated with the container |
Examples
Remove a container
This removes the container referenced under the link /redis .
Remove a link specified with —link on the default bridge network (—link)
This removes the underlying link between /webapp and the /redis containers on the default bridge network, removing all network communication between the two containers. This does not apply when —link is used with user-specified networks.
$ docker rm --link /webapp/redis /webapp/redis
Force-remove a running container (—force)
This command force-removes a running container.
$ docker rm --force redis redis
The main process inside the container referenced under the link redis will receive SIGKILL , then the container will be removed.
Remove all stopped containers
Use the docker container prune command to remove all stopped containers, or refer to the docker system prune command to remove unused containers in addition to other Docker resources, such as (unused) images and networks.
Alternatively, you can use the docker ps with the -q / —quiet option to generate a list of container IDs to remove, and use that list as argument for the docker rm command.
Combining commands can be more flexible, but is less portable as it depends on features provided by the shell, and the exact syntax may differ depending on what shell is used. To use this approach on Windows, consider using PowerShell or Bash.
The example below uses docker ps -q to print the IDs of all containers that have exited ( —filter status=exited ), and removes those containers with the docker rm command:
$ docker rm $(docker ps --filter status=exited -q)
Or, using the xargs Linux utility;
$ docker ps --filter status=exited -q | xargs docker rm
Remove a container and its volumes (-v, —volumes)
$ docker rm --volumes redis redis
This command removes the container and any volumes associated with it. Note that if a volume was specified with a name, it will not be removed.
Remove a container and selectively remove volumes
$ docker create -v awesome:/foo -v /bar --name hello redis hello $ docker rm -v hello
In this example, the volume for /foo remains intact, but the volume for /bar is removed. The same behavior holds for volumes inherited with —volumes-from .
Шпаргалка с командами Docker
Прим. перев.: Неделю назад Aymen El Amri, руководящий компанией eralabs и создавший обучающий курс «Безболезненный Docker», опубликовал свой Docker Cheat Sheet — шпаргалку по основным командам Docker. Git-репозиторий этого документа на GitHub уже набрал 1000+ stars и несколько сторонних контрибьюторов, что подтвердило его актуальность и пользу.
Представленные здесь команды описаны минимально (с акцентом на читаемость как есть) и включают в себя установку Docker, работу с реестрами и репозиториями, контейнерами, образами, сетью, Docker Swarm. Ниже представлен перевод шпаргалки в её состоянии на 2 сентября с дополнениями из комментариев ниже.
Установка
Linux
curl -sSL https://get.docker.com/ | sh
Mac
https://download.docker.com/mac/stable/Docker.dmg
Windows
https://download.docker.com/win/stable/InstallDocker.msi
Реестры и репозитории Docker
Вход в реестр
docker login localhost:8080
Выход из реестра
docker logout localhost:8080
Поиск образа
docker search nginx -- filter stars=3 --no-trunc busybox
Pull (выгрузка из реестра) образа
docker pull eon01/nginx localhost:5000/myadmin/nginx
Push (загрузка в реестр) образа
docker push eon01/nginx localhost:5000/myadmin/nginx
Первые действия с контейнерами
Создание контейнера
docker create -t -i eon01/infinite --name infinite
Первый запуск контейнера
docker run -it --name infinite -d eon01/infinite
Переименование контейнера
docker rename infinite infinity
Удаление контейнера
Обновление контейнера
docker update --cpu-shares 512 -m 300M infinite
Запуск и остановка контейнеров
Запуск остановленного контейнера
Остановка
Перезагрузка
Пауза (приостановка всех процессов контейнера)
Снятие паузы
Блокировка (до остановки контейнера)
Отправка SIGKILL (завершающего сигнала)
Отправка другого сигнала
Подключение к существующему контейнеру
Получение информации о контейнерах
Работающие контейнеры
Логи контейнера
Информация о контейнере
docker inspect --format '>' $(docker ps -q)
События контейнера
Публичные порты
Выполняющиеся процессы
Использование ресурсов
Изменения в файлах или директориях файловой системы контейнера
Управление образами
Список образов
Создание образов
docker build github.com/creack/docker-firefox
docker build -t eon/infinite .
docker build -f myOtherDockerfile .
curl example.com/remote/Dockerfile | docker build -f - .
Удаление образа
Загрузка репозитория в tar (из файла или стандартного ввода)
docker load --input ubuntu.tar
Сохранение образа в tar-архив
docker save busybox > ubuntu.tar
Просмотр истории образа
Создание образа из контейнера
Тегирование образа
docker tag nginx eon01/nginx
Push (загрузка в реестр) образа
Сеть
Создание сети
docker network create -d overlay MyOverlayNetwork
docker network create -d bridge MyBridgeNetwork
docker network create -d overlay \ --subnet=192.168.0.0/16 \ --subnet=192.170.0.0/16 \ --gateway=192.168.0.100 \ --gateway=192.170.0.100 \ --ip-range=192.168.1.0/24 \ --aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \ --aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \ MyOverlayNetwork
Удаление сети
docker network rm MyOverlayNetwork
Список сетей
Получение информации о сети
docker network inspect MyOverlayNetwork
Подключение работающего контейнера к сети
docker network connect MyOverlayNetwork nginx
Подключение контейнера к сети при его запуске
docker run -it -d --network=MyOverlayNetwork nginx
Отключение контейнера от сети
docker network disconnect MyOverlayNetwork nginx
Очистка Docker
Удаление работающего контейнера
Удаление контейнера и его тома (volume)
Удаление всех контейнеров со статусом exited
docker rm $(docker ps -a -f status=exited -q)
Удаление всех остановленных контейнеров
Удаление контейнеров, остановленных более суток назад
docker container prune --filter "until=24h"
Удаление образа
Удаление неиспользуемых (dangling) образов
docker rmi $(docker images -f dangling=true -q)
Удаление неиспользуемых (dangling) образов даже с тегами
Удаление всех образов
docker rmi $(docker images -a -q)
Удаление всех образов без тегов
docker rmi -f $(docker images | grep "^" | awk "")
Остановка и удаление всех контейнеров
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q)
Удаление неиспользуемых (dangling) томов
docker volume rm $(docker volume ls -f dangling=true -q)
Удаление неиспользуемых (dangling) томов по фильтру
docker volume prune --filter "label!=keep"
Удаление неиспользуемых сетей
Удаление всех неиспользуемых объектов
docker system prune --volumes
Docker Swarm
Установка Docker Swarm
curl -ssl https://get.docker.com | bash
Прим. перев.: в Docker версий 1.12.0+ ничего дополнительно устанавливать не требуется, т.к. Docker Swarm встроен в Docker Engine в виде специального режима (Swarm mode).
Инициализация Swarm
docker swarm init --advertise-addr 192.168.10.1
Подключение рабочего узла (worker) к Swarm
docker swarm join-token worker
Подключение управляющего узла (manager) к Swarm
docker swarm join-token manager
Список сервисов
Список узлов
Создание сервиса
docker service create --name vote -p 8080:80 instavote/vote
Список заданий Swarm
Масштабирование сервиса
docker service scale vote=3
Обновление сервиса
docker service update --image instavote/vote:movies vote
docker service update --force --update-parallelism 1 --update-delay 30s nginx
docker service update --update-parallelism 5--update-delay 2s --image instavote/vote:indent vote
docker service update --limit-cpu 2 nginx
docker service update --replicas=5 nginx
P.S.
Прим. перев.: Напомню, что оригинальная (англоязычная) версия Docker Cheat Sheet доступна и обновляется в Git-репозитории. Автор будет рад исправлениям/пополнениям от сообщества.
Читайте также в нашем блоге: