Шпаргалка по основным командам докера Docker
Это небольшая шпаргалка по командам для докера. Тут собраны основные команды.
images (образы) - Схемы нашего приложения, которые являются основой контейнеров. В примере выше мы использовали команду docker pull чтобы скачать образ busybox.
Containers (контейнеры) - Создаются на основе образа и запускают само приложение. Мы создали контейнер командой docker run, и использовали образ busybox, скачанный ранее. Список запущенных контейнеров можно увидеть с помощью команды docker ps.
Docker Daemon (демон Докера) - Фоновый сервис, запущенный на хост-машине, который отвечает за создание, запуск и уничтожение Докер-контейнеров. Демон — это процесс, который запущен на операционной системе, с которой взаимодействует клиент.
Docker Client (клиент Докера) - Утилита командной строки, которая позволяет пользователю взаимодействовать с демоном. Существуют другие формы клиента, например, Kitematic, с графическим интерфейсом.
Docker Hub - Регистр Докер-образов. Грубо говоря, архив всех доступных образов. Если нужно, то можно содержать собственный регистр и использовать его для получения образов.
Base images (базовые образы) — это образы, которые не имеют родительского образа. Обычно это образы с операционной системой, такие как ubuntu, busybox или debian.
Child images (дочерние образы) — это образы, построенные на базовых образах и обладающие дополнительной функциональностью.
# показать список образов в системе
docker images
# запустим Докер-контейнер busybox
docker run busybox
# помощь по команде
docker run --help
# Команда run с флагом -it подключает интерактивный tty в контейнер
# Теперь можно запускать сколько угодно много команд внутри
docker run -it busybox sh
# выводит на экран список всех запущенных контейнеров.
docker ps
# виден список всех контейнеров, которые мы запускали
docker ps -a
# скопируйте ID (можно несколько) из вывода выше и
# передайте параметрами в команду
docker rm 305297d7a235
# закрытые докеры
docker ps -a -q -f status=exited
# удаляет все контейнеры, у которых статус exited.
# Флаг -q возвращает только численные ID,
# а флаг -f фильтрует вывод на основе предоставленных условий
docker rm $(docker ps -a -q -f status=exited)
# также можно удалять ненужные образы командой
docker rmi
# скачать образ напрямую + установка
docker run prakhar1989/static-site
docker run prakhar1989/flask-app
# флаг -d открепит (detach) терминал, флаг -P сделает все открытые
# порты публичными и случайными, и, наконец,
# флаг --name это имя, которое мы хотим дать контейнеру
docker run -d -P --name static-site prakhar1989/static-site
docker run -d -P --name flask-app prakhar1989/flask-app
# увидеть порты
docker port static-site
# обозначить свой порт. Клиент будет перенаправлять соединения на него
docker run -p 8888:80 prakhar1989/static-site
# остановить контейнер
docker stop id
# остановить все контейнеры
docker stop $(docker ps -q)
# искать образ. происходит поиск по всему dockerhub
docker search prakhar1989
# Команда docker build занимается сложной задачей
# создания образа на основе Dockerfile.
# Команда принимает опциональный тег с флагом -t и
# путь до директории, в которой лежит Dockerfile
docker build -t prakhar1989/catnip.
# должен возникнуть новый образ
docker images
# авторизация на dockerhub
docker login
# опубликовать наш образ в регистре
docker push prakhar1989/catnip
# показывает все сети
docker network ls
# сеть, в которой контейнеры запущены по умолчанию
docker network inspect bridge
# создадим свою сеть foodtrucks
docker network create foodtrucks
# удалим сеть foodtrucks
docker network rm foodtrucks
# посмотреть запущенные процессы в контейнере
docker top 55966b4fcb9b
# возвращает JSON документ содержащий конфигурацию и другую полезную информацию
docker inspect name_image
# поиск образов
docker search django # скачивание образа
docker pull [ОПЦИИ] [ПУТЬ/]ИМЯ_ОБРАЗА[:ТЕГ]
docker pull centos
# выгрузить (push) репозиторий в реестр соответствующий его имени и тегу
docker push yourname/newimage
# установить Docker Compose
pip install docker-compose
# версия
docker-compose version
# запуск докера из папки, флаг -d открепит (detach) терминал
docker-compose up
# остановим запущенные сервисы
docker-compose stop