Периодически надо чистить images
1. Останавливаем все контейнеры
docker rm -fv $(docker ps -a -q)
2. Удаляем все images
docker rmi -f $(docker images -a -q)
3. Запускаем все контейнеры, все необходимые images будут скачены
Остановить и удалить все контейнеры
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) docker rm -fv $(docker ps -a -q)
docker rm -f $(docker container ls -q --filter name=agis-bil-*)
Systemctl
Docker daemon log
$ sudo journalctl -fu docker.service $ tail -f /var/log/syslog # systemctl restart docker.service
Создание/удаление сети
$ docker network create --driver bridge --subnet 129.200.100.0/24 --ip-range 129.200.100.0/24 agis-net $ docker network rm agis-net
Enable debugging
Edit the /etc/docker/daemon.json file. You may need to create this file, if it does not yet exist.
If the file is empty, add the following:
# cat /etc/docker/daemon.json { "storage-driver": "overlay2", "data-root": "/data/root_docker", "debug": true }
Send a HUP signal to the daemon to cause it to reload its configuration. On Linux hosts, use the following command.
$ sudo kill -SIGHUP $(pidof dockerd)
Дополнительные команды
$ docker images | grep bil | awk '{print $3}' | xargs docker rmi $ docker ps -a | awk '{print $1}' | xargs docker inspect --format="{{.Mounts}}" $ docker inspect --format="{{.Mounts}}" $containerID
Удалить контейнеры и анонимные тома (remove a container and its volumes)
$ docker rm -fv redis redis
Очистка всех неиспользуемых или висячих изображений, контейнеров, томов и сетей
Docker предоставляет единственную команду, которая очистит любые висящие (не связанные с контейнером) ресурсы – изображения, контейнеры, тома и сети:
docker system prune
Чтобы дополнительно удалить все остановленные контейнеры и все неиспользуемые изображения (не только свисающие изображения), добавьте флаг + -a +
к команде:
docker system prune -a
Удаление изображений Docker
Удалить одно или несколько конкретных изображений
Используйте команду + docker images +
с флагом + -a +
, чтобы найти идентификатор изображений, которые вы хотите удалить. Это покажет вам каждое изображение, включая промежуточные слои изображения. Когда вы найдете изображения, которые хотите удалить, вы можете передать их идентификатор или тег + docker rmi +
:
Список:
docker images -a
Удалить:
docker rmi
Удалить оборванные изображения
Изображения Docker состоят из нескольких слоев. Висячие изображения – это слои, которые не имеют отношения к помеченным изображениям. Они больше не служат цели и занимают место на диске. Их можно найти, добавив флаг фильтра + -f +
со значением + dangling = true +
к команде + docker images +
. Если вы уверены, что хотите удалить их, вы можете использовать команду + docker images purge +
:
Список:
docker images -f dangling=true
Удалить:
docker images purge
Удаление изображений по шаблону
Вы можете найти все изображения, которые соответствуют шаблону, используя комбинацию + docker images +
и https://www.digitalocean.com/community/tutorials/using-grep-regular-expressions-to-search-for-text- моделей-в-Linux [ +
ГРЭП ]. Когда вы будете удовлетворены, вы можете удалить их с помощью ` awk `, чтобы передать идентификаторы в ` docker rmi +`. Обратите внимание, что эти утилиты не поставляются Docker и не обязательно доступны во всех системах:
Список:
docker images -a | grep ""
Удалить:
docker images -a | grep "" | awk '{print $3}' | xargs docker rmi
Удалить все изображения
Все образы Docker в системе могут быть перечислены путем добавления + -a +
к команде + docker images +
. Если вы уверены, что хотите удалить их все, вы можете добавить флаг + -q +
для передачи идентификатора изображения в + docker rmi +
:
Список:
docker images -a
Удалить:
docker rmi $(docker images -a -q)
Удаление контейнеров
Удалить один или несколько конкретных контейнеров
Используйте команду + docker ps +
с флагом + -a +
, чтобы найти имя или идентификатор контейнеров, которые вы хотите удалить:
Список:
docker ps -a
Удалить:
docker rm
Удалить контейнер при выходе
Если вы знаете, что при создании контейнера вы не захотите его хранить после завершения, вы можете запустить + docker run --rm +
, чтобы автоматически удалить его при выходе.
- Запустить и удалить: *
docker run --rm
Удалить все вышедшие контейнеры
Вы можете найти контейнеры с помощью + docker ps -a +
и отфильтровать их по статусу: создан, перезапущен, запущен, приостановлен или завершен. Чтобы просмотреть список вышедших контейнеров, используйте флаг + -f +
для фильтрации по статусу. После проверки вы хотите удалить эти контейнеры, используя + -q +
для передачи идентификаторов команде + docker rm +
.
Список:
docker ps -a -f status=exited
Удалить:
docker rm $(docker ps -a -f status=exited -q)
Удалить контейнеры, используя более одного фильтра
Фильтры Docker можно комбинировать, повторяя флаг фильтра с дополнительным значением. Это приводит к списку контейнеров, которые удовлетворяют любому условию. Например, если вы хотите удалить все контейнеры, помеченные как * Создано * (состояние, которое может возникнуть при запуске контейнера с недопустимой командой) или * Выход *, вы можете использовать два фильтра:
Список:
docker ps -a -f status=exited -f status=created
Удалить:
docker rm $(docker ps -a -f status=exited -f status=created -q)
Удалить контейнеры в соответствии с рисунком
Вы можете найти все контейнеры, которые соответствуют шаблону, используя комбинацию + docker ps +
и https://www.digitalocean.com/community/tutorials/using-grep-regular-expressions-to-search-for-text- узоры-в-Linux [Grep]. Когда вы убедитесь, что у вас есть список, который вы хотите удалить, вы можете использовать + awk +
и + xargs +
для предоставления идентификатора + docker rmi +
. Обратите внимание, что эти утилиты не поставляются Docker и не обязательно доступны во всех системах:
Список:
docker ps -a | grep "”
Удалить:
docker ps -a | grep "" | awk '{print $3}' | xargs docker rmi
Остановите и удалите все контейнеры
Вы можете просмотреть контейнеры в вашей системе с помощью + docker ps +
. Добавление флага + -a +
покажет все контейнеры. Если вы уверены, что хотите удалить их, вы можете добавить флаг + -q +
для предоставления идентификаторов командам + docker stop +
и + docker rm +
:
Список:
docker ps -a
Удалить:
docker stop $(docker ps -a -q) docker rm $(docker ps -a -q) docker rm -fv $(docker ps -a -q)
Удаление томов
Удалите один или несколько определенных томов – Docker 1.9 и более поздние
Используйте команду + docker volume ls +
, чтобы найти имя тома или имена, которые вы хотите удалить. Затем вы можете удалить один или несколько томов с помощью команды + docker volume rm +
:
Список:
docker volume ls
Удалить:
docker volume rm
Delete all containers using the following command: docker rm -f $(docker ps -a -q) Delete all volumes using the following command: docker volume rm $(docker volume ls -q)
Docker-script-find-latest-image-tag-master
Поиск на github tag images by id image. Download here
Если есть IMAGE ID, но не известен TAG
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mongo 4.4 79fdd3aa9573 3 days ago 438MB
gitlab/gitlab-runner v14.6.0 77a7b2f30dd5 7 months ago 700MB
mongo 4.4.6 61ea24dc52c6 12 months ago 423MB
То скрипт лезет на github и дает список всех TAG по названию репозитория (repository), например mongo
nginxSimple
Для проверки портов запускать nginx со статичной страницой. Менять в docker-compose.yml порт для проброски
$ cat nginxSimple/docker-compose.yml version: '3' services: nginx: image: nginx:latest ports: - "80:80" volumes: - ./html:/usr/share/nginx/html