-
Notifications
You must be signed in to change notification settings - Fork 2
Docker overview
-
Commands
- Docker ps - просмотр контейнеров
- Docker start - запуск остановленного контейнера
- Docker stop - остановка контейнера
- Docker kill - принудительная остановка
- Docker create - создание контейнера(без запуска)
- Docker run - создание и запуск контейнера
- Docker restart - перезапуск контейнера
- Docker logs - просмотр журнала контейнера
- Docker exec - выполнение команды в контейнере
- Docker pull - скачать образ
- Docker push - загрузить образ
- Docker login - авторизация в удаленном регистре
- Docker logout - выход из регистра
- Docker stats - статистика
- Docker images - образы
- Docker rmi - удаление локальных образов
- Docker build - сборка образа
- Docker network ls - просмотр сетей
- Docker volume ls - список томов
- Docker inspect - подробная информация
- Docker rm - удаление контейнера
- Portainer
Данный документ является всего лишь справочником(указаны конкретные примеры и ограниченный набор ключей) для более детального изучения команд обращайтесь к официальной документации.
-
docker ps- выводит список запущенных контейнеров; -
docker ps -a- выводит список всех существующих контейнеров; -
docker ps -q- выводит идентификаторы запущенных контейнеров.
docker start <container_name/id> - запуск существующего контейнера.
-
docker stop <container_name/id>- остановка работающего контейнера; -
docker stop --time=10 <container_name/id>- остановить контейнер через заданный промежуток времени заданный в секундах.
docker kill <container_name/id> - принудительная остановка контейнера(используется SIGKILL), через ключ --signal можно передать специфичный сигнал.
docker create <container_name> <image> - создание и подготовка запуску контейнера с заданным именем при использовании определенного образа.
Данная команда обладает множеством опций и ключей подробнее о которых можно прочитать в официальной документации.
docker run --restart=always -d -p <host_port>:<container_port> -v <volume_name/host_path>:<container_path> -e "ENV_NAME=value" --name=<container_name> <image> - будет создан и запущен контейнер с параметрами:
-
-d- означает что контейнер будет запущен в фоновом режиме, т.е. в режиме демона; -
-p- указывает на перенаправление портов с хоста в контейнер; -
-v- ключ для подключеня томов с хоста в контейнер; -
-e- создание переменных среды для контейнера; -
-name- создание имени контейнера; -
--restart- политика перезапуска контейнера, гдеalways-перезапускать всегда не взирая на коды завершения(в том числе при перезапуске докер-хоста),no- никогда(выставлен по-умолчанию),on-failure[:max-retries]- контейнер будет запускаться при возврате не нулевого кода указанное число попыток.
Данная команда также имеет множество опций которые подробно описаны в официальной документации.
docker restart <container_name/id> - перезапуск существующего контейнера.
docker logs --tail 20 -f <container_name/id> - данная команда будет выводить в live режиме последние 20 строк журнала контейнера.
docker exe -t -i <container_name/id> bash - запустит интерактивный эмулятор терминала для контейнера.
docker pull <image> - скачивание образа из удаленного регистра.
docker push <image> - загрузка образа в удаленный регистр.
docker login --password=<your_password> --username=<your_username> <address_of_registry> - авторизация на удаленном регистре для скачивания и загрузки образов.
Docker logout <address_of_registry> - выход из удаленного регистра.
docker stats - отображает в live-режиме статистику по работающим контейнерам.
docker images - выводит список локальных образов.
docker rmi <image> - удаление локального образа, также можно использовать ключ --force для принудительного удаления.
docker build -t --no-cache <file> - сборка образа с тэгом без учета кеша(т.к если вы меняли образ или в нем были ошибки билдер учитывает только измененные слои без этого ключа).
docker network ls - выводит список существующих docker-сетей в том числе используемый драйвер.
docker volume ls - показать существующие docker-тома.
-
docker inspect <container_name/id>- подробная информация о контейнере; -
docker inspect <network_name/id>- подробная информация о сети; -
docker inspect <image_name/id>- подробная информация об образе; -
docker inspect <volume_name/id>- подробная информация о томе.
-
docker rm <container_name/id>- удаление контейнера; -
docker rm $(docker ps -a -q)- удаление всех контейнеров; -
docker rm $(docker ps -a -f status=exited -q)- удаление остановленных контейнеров; -
docker rm --force <container_name/id>- принудительная остановка контейнера(используется SIGKILL).
Для удобства управления контейнерами можно воспользоваться проектом Portainer, который предоставляет удобный веб интерфейс, сервер реализован также в виде контейнера.
Для установки необходимо выполнить три простых шага:
- Создать том данных на вашем docker окружении:
docker volume create portainer_data
- Создать и запустить контейнер:
docker run --restart=always --name=portainer -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
- В браузере перейти по адресу
http://<dokcerhost_ip>:9000и создать паролль администратора, после чего выбратьLocalокружение и подключиться к нему.
