Популярность контейнеров Docker стремительно растёт, и организации активно ищут специалистов, хорошо знакомых с командами Docker. В этой статье рассмотрим 15 основных командах Docker.

Существуют дополнительные надстройки в виде GUI — интерфейсов Docker для упрощения и удобства работы пользователей, но все же основной интерфейс разработчиков это CLI.
Начиная с базовой команды docker
, CLI поддерживает почти 60 подкоманд, большинство из которых принимают несколько аргументов командной строки для выполнения различных задач.
Команда запуска Docker (docker run)
Эта команда используется для запуска контейнера из образа. Команда docker run представляет собой комбинацию команд docker create
и docker start
. Она создает новый контейнер из указанного образа и запускает его.
docker run
загружает его.$ docker run <image_name>
Для указания имени контейнера используется параметр --name
$ docker run --name <container_name> <image_name>

Чтобы получить справку по остальным параметрам команды, можно выполнить команду docker run --help
.
Например, чтобы указать рабочую директорию внутри контейнера используется параметр -w
, --workdir
(Working directory inside the container):
docker run -v $(pwd):/project \
-w /project \
-p 8081:8081 \
А параметр -p
указывает на соответствие порта внутри контейнера и порта на хостовой машине.
Загрузка Docker образа
Эта команда позволяет получить любой образ, который присутствует в официальном реестре Docker, Docker Hub. По умолчанию она получает последний образ, но вы также можете указать версию образа.
$ docker pull <image_name>

Список Docker контейнеров (docker ps)
Эта команда (по умолчанию) показывает список всех запущенных контейнеров. С ней можно использовать различные флаги.
-a
: показывает все контейнеры, остановленные или работающие.-l
: показывает нам последний контейнер.-q
: показывает только идентификатор контейнеров.
$ docker ps [options..]

Остановка Docker контейнера
Эта команда позволяет остановить контейнер, если он вышел из строя или вы хотите переключиться на другой.
$ docker stop <container_ID>

Запуск Docker контейнера
Предположим, вы хотите снова запустить остановленный контейнер. Это можно сделать с помощью следующей команды.
$ docker start <container_ID>
Удаление Docker контейнеров
Чтобы удалить контейнер. По умолчанию при создании контейнера ему присваивается идентификатор и вымышленное имя, например confident_boyd, heuristic_villani и т. д. Вы можете указать имя контейнера или его идентификатор.
Некоторые важные флаги:
- флажок-f: извлеките контейнер с усилием.
- флаг-v: удалите тома.
- флаг-l: удалите указанную конкретную ссылку.
$ docker rm {options} <container_name or ID>

Удаление Docker образа
Чтобы удалить образ в Docker. Вы можете удалить ненужные образы из локального хранилища Docker, чтобы освободить место
docker rmi <image ID/ image name>
Получение списка образов Docker
Выводит список всех извлеченных изображений, которые присутствуют в нашей системе.
$ docker images

Docker exec
Эта команда позволяет запускать новые команды в работающем контейнере. Эта команда работает только до тех пор, пока контейнер работает. После перезапуска контейнера эта команда не запускается повторно.
Некоторые важные флаги:
- флаг-d: для выполнения команд в фоновом режиме.
- Флаг -i: он будет поддерживать STDIN открытым, даже если не подключен.
- флаг-e: устанавливает переменные среды
$ docker exec {options}


Порты Docker (сопоставление портов)
Чтобы получить доступ к контейнеру Docker из внешнего мира, нам нужно сопоставить порт на нашем хосте (например, на нашем ноутбуке) с портом в контейнере. Именно здесь в игру вступает сопоставление портов.
$ docker run -d -p <port_on_host>
<port_on_container> Container_name

Итак, это были 9 самых основных команд Docker, которые должен знать каждый новичок. Контейнеризация — очень обширная тема, но вы можете начать с самых базовых команд и, ежедневно практикуясь, освоить их.
Вход в Docker
Команда Docker login поможет вам пройти аутентификацию в Docker Hub, чтобы вы могли загружать и извлекать свои образы.
docker login
Вам будет предложено ввести имя пользователя и пароль, после чего вы войдёте в DockerHub и сможете выполнять задачи.
Docker push
После создания собственного образа с помощью Dockerfile вам нужно сохранить его в удалённом реестре DockerHub. Для этого вам нужно отправить образ с помощью следующей команды. Чтобы узнать больше о том, как отправить образ контейнера в репозиторий Docker, нажмите здесь.
docker push <Image name/Image ID>
Сборка Docker образа
Команда docker build используется для создания образов Docker с помощью Dockerfile.
docker build -t image_name:tag .
Вместо имени_образа используйте имя образа, который вы создаете, и укажите номер_тега и . «точка» обозначает текущий каталог.
Остановка Docker контейнера
Вы можете останавливать и запускать контейнеры Docker, в которых выполняется обслуживание контейнеров. Чтобы останавливать и запускать конкретные контейнеры, вы можете использовать следующие команды.
docker stop container_name_or_id
Остановка нескольких Docker контейнеров
Вместо остановки одного контейнера вы можете остановить несколько контейнеров одновременно, используя следующие команды.
docker stop container1 container2 container3
Перезапуск Docker
При запуске контейнеров в Docker вы можете столкнуться с некоторыми ошибками, и контейнеры могут не запуститься. Вы можете перезапустить контейнеры, чтобы устранить ошибки, с помощью следующих команд.
docker restart container_name_or_id
Проверка Docker контейнера
Контейнеры Docker будут сталкиваться с некоторыми ошибками в режиме реального времени. Для отладки ошибок контейнера вы можете использовать следующие команды.
docker inspect container_name_or_id
Фиксация Docker
После запуска контейнеров с использованием текущего образа вы можете обновить контейнеры, взаимодействуя с ними. Команда позволяет создать образ на основе работающего Docker контейнера.
docker commit container_name_or_id new_image_name:tag
Базовая команды Docker
Ниже приведены некоторые из основных команд docker
- docker images: образы Docker перечисляют все образы, которые загружаются или создаются на этом хосте Docker.
- docker pull: Docker pull загрузит образы Docker с Dockerhub.
- docker run: Docker run запустит образ Docker в качестве контейнера.
- docker ps: Docker run выведет список всех контейнеров, запущенных на хосте Docker.
- docker stop: остановка Docker остановит уже запущенные контейнеры Docker.
- docker rm: команда Docker rm удалит контейнеры, которые находятся в состоянии остановки.
Команды работы с Docker образами
Ниже приведены команды Docker, которые используются для создания образа Docker, запуска контейнера Docker и подключения к нему томов Docker.
- docker build: Она создаст образы Docker с помощью Dockerfile.
- docker pull: Команда Docker pull загрузит образ Docker, доступный на DockerHub.
- docker images: Она выведет список всех образов, которые извлекаются и создаются на хосте Docker.
- docker inspect: Она поможет отладить образ Docker, если при создании или извлечении образа возникли какие-либо ошибки.
- docker push: команда Docker отправит образ Docker в Dockerhub.
- docker save: Она сохранит образ Docker в виде файла Dockerfile.
- docker rmi: Она удалит образ docker.
Команда управления контейнерами Docker
- docker attach: Подключение к существующему контейнеру.
- docker ps: Вывод списка запущенных контейнеров.
- docker container inspect infinite: Для просмотра Docker-контейнеров.
- docker exec: для выполнения команд в запущенных контейнерах.
- docker cp: для копирования файла с хоста docker в контейнеры docker,
Команды Docker Compose
Docker Compose работает поверх Docker и позволяет управлять множеством контейнеров в рамках одного проекта. Давайте рассмотрим основные команды (принципы работы большинства из них вам уже знакомы):
- docker-compose up — запускает приложение со всеми контейнеры, информация о которых есть в docker-compose.yml. Если файл не указан, по умолчанию используется файл в текущем каталоге;
- docker-compose down — останавливает и удаляет все контейнеры, а также тома, связанные с ними;
- docker-compose start — запускает остановленные контейнеры;
- docker-compose stop — останавливает работу запущенных контейнеров без их удаления;
- docker-compose restart — перезапускает контейнеры;
- docker-compose build — позволяет обновить образы или создать их заново, если они были изменены;
- docker-compose logs — выводит журналы состояния;
- docker-compose ps — отображает текущее состояние контейнеров;
- docker-compose pull — загружает последние версии образов для сервисов, описанных в файле docker-compose.yml.
Шпаргалки по Docker командам
Нашел на просторах интернета несколько вариантов визуальных шпаргалок по командам Docker, выбирайте на свой вкус.



Перевод инструкции: Docker Commands