Docker — это платформа, которая помогает разработчикам создавать и развертывать контейнерные приложения. Он помогает решить проблемы совместимости операционных систем, предоставляя облегченные виртуализированные среды для управления этими приложениями.

Основной интерфейс командной строки (CLI) Docker предоставляет разработчикам, работающим с контейнерами, мощные инструменты. Начиная с базовой команды dockerCLI поддерживает около 60 подкоманд, большинство из которых принимают ряд аргументов командной строки для решения различных задач.

Знакомство с Docker CLI

Ваша среда Docker может представлять собой Docker Engine с открытым исходным кодом или удобный графический интерфейс Docker Desktop. CLI будет вашим основным интерфейсом в среде Docker Engine, но вы также получите доступ к инструменту командной строки, если установите Docker Desktop.

Мы думаем, что даже пользователи Docker Desktop освоят интерфейс командной строки, как только ознакомятся хотя бы с этими 20 основными docker команды.

Команды Docker, которые вы должны знать

Давайте углубимся и выясним, с какими командами Docker вы должны быть знакомы лучше всего.

1. докер-система

docker system Команда помогает проверять среду Docker и управлять ею. Он поддерживает аргументы командной строки для выполнения конкретных задач, связанных с управлением, в том числе:

  • df показывает, как вы используете диск
  • prune удаляет неиспользуемые сети, контейнеры, изображения или тома
  • info показывает информацию, связанную с системой
  • events отображает журнал системных событий в режиме реального времени

Ниже приведено начальное приглашение после выполнения docker system prune.

docker system prune выход.

2. контекст докера

Эта команда помогает вам перемещаться и настраивать различные контексты. В Docker контексты включают имена, информацию о безопасности транспортного уровня, конфигурации конечных точек и оркестраторы.

Некоторые из docker context аргументы:

  • ls отображает детали контекста по умолчанию
  • осмотреть [CONTEXT} inspects a specified context
  • create [CONTEXT] создает новый контекст
  • use [CONTEXT] переключается между контекстами

Ниже приведен пример вывода из docker context ls:

Снимок экрана: команда контекста Docker.
docker context ls выход.

3. докер приостановить и возобновить паузу

docker pause команда замораживает активные процессы контейнера. Чтобы запустить его, необходимо указать имя контейнера, как показано ниже:

docker pause [CONTAINER]

Ниже приведен пример вывода, который можно ожидать после приостановки контейнера.

Снимок экрана: команда паузы в докере.
docker pause выход.

docker unpause команда возобновляет приостановленные процессы контейнера. Как и в предыдущей команде, необходимо указать имя контейнера, как показано ниже:

docker unpause [CONTAINER]

Ниже приведен пример вывода, который вы можете ожидать после снятия контейнера с паузы.

Снимок экрана: команда возобновления работы Docker.
docker unpause выход.

4. докер РМ

Эта команда удаляет контейнеры, тома и сети. Он позволяет выбрать компонент для удаления на основе его атрибутов. Например, вы можете принудительно удалить работающие контейнеры или все указанные контейнеры:

docker rm [CONTAINER] удаляет контейнер, имя которого указано. Вывод этой команды показан на снимке экрана ниже.

Снимок экрана: команда docker rm.
docker rm выход.

5. докер рми

Вы используете эту команду для удаления изображений. Вы можете удалить одно изображение или несколько изображений одновременно. Вы можете описать изображение, которое нужно удалить, используя короткий или длинный идентификатор. Команда важна для поддержания чистоты и эффективности хост-узла.

Команда удаления изображения использует следующую структуру:

docker rmi [IMAGE ID]

Ниже приведен пример его вывода.

Скриншот: команда docker rmi.
docker rmi выход.

6. том докера

Эта команда позволяет вам управлять томами в Docker. Вы можете использовать его для создания, удаления, составления списка и проверки томов.

Некоторые из docker volume аргументы такие:

  • create [OPTIONAL NAME] создает новый том. Вы можете указать имя тома или позволить Docker сгенерировать случайное имя.
  • ls перечисляет доступные тома
  • inspect [NAME] показывает подробную информацию об объеме.
  • rm [NAME] удаляет том из Docker.

Ниже приведен пример вывода после создания тома.

Снимок экрана: команда создания тома Docker.
docker volume create выход.

7. поиск докера

Используйте эту команду для поиска изображений в Docker Hub, которые затем можно запускать как контейнеры на своем компьютере. Он позволяет вам получить доступ к образам реестра Docker Hub, не посещая веб-сайт.

Команда имеет следующую структуру: docker search . Вы можете указать названия изображений, которые ищете, или создать фильтр.

Ниже приведен пример вывода следующего запроса:

docker search --filter is-official=true --filter stars=500 mysql
Скриншот: команда поиска докера.
docker search выход.

8. нажатие докера

docker push Команда позволяет вам делиться своими изображениями в реестре Docker Hub или частном репозитории.

Структура команды следующая:

docker push [OPTIONS] NAME[:TAG]

[OPTIONS] позволяет вам установить -disable-content-trust.

По умолчанию это значение истинно, и включать его не обязательно.

NAME[:TAG] требует использования имени реестра, репозитория и тега изображения.

Ниже приведен пример вывода из docker push.

Снимок экрана: команда docker push.
docker push выход.

9. докер

Эта команда загружает образ Docker из репозитория в частном или общедоступном реестре.

Команда работает следующим образом:

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Эта команда позволяет вам использовать существующие изображения вместо создания новых всякий раз, когда вам необходимо создать контейнерное приложение.

В примере ниже показаны выходные данные docker pull команда:

Скриншот: команда docker pull.
docker pull выход.

10. докер пс

По умолчанию эта команда отображает список всех запущенных контейнеров. Однако вы можете добавить флаг для отображения контейнеров на основе таких атрибутов, как размер использования диска, связанные контейнеры и метки.

Команда имеет следующую структуру:

docker ps [OPTIONS]

Некоторые из его аргументов включают в себя:

  • -a отображает список запущенных и вышедших контейнеров
  • -s отображает размер каждого контейнера на диске и виртуальный размер

Вы можете использовать их вместе следующим образом:

docker ps -as

Ниже приведен пример вывода из docker ps команда.

Снимок экрана: команда статуса процесса docker.
Некоторые из результатов docker ps команда.

11. тег докера

Используйте этот тег, чтобы добавить к изображению метаданные, например версию. Теги обычно создаются при создании изображения, но docker tag Команда позволяет вам добавить тег позже, по сути создавая псевдоним для целевого изображения.

Эта команда имеет следующую структуру:

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

В приведенном ниже примере мы перечисляем изображения с именем «redis». После пометки изображения номером версии («2.0») в списке появляются новый псевдоним и изображение с исходной меткой.

Снимок экрана: команда тега docker.
docker tag выход.

12. переименование докера

Используйте эту команду, чтобы переименовать контейнер. Это полезно, если у вас есть несколько контейнеров и вы хотите различать их по назначению.

Эта команда имеет следующую структуру:

docker rename [OLD_NAME] [NEW_NAME]

Ниже приведен пример вывода до и после docker rename команда.

Снимок экрана: команда переименования Docker.
docker rename выход.

13. коммит докера

Эта команда позволяет создавать новые изображения после внесения изменений в файлы контейнера. Это важно, поскольку позволяет отлаживать контейнер с помощью интерактивной оболочки.

Эта команда имеет следующую структуру:

docker commit [CONTAINER_ID] [name-of-new-image]

Ниже приведен пример и вывод docker commit command.

Снимок экрана: команда фиксации docker.
docker commit выход.

14. сеть докеров

Это команда управления сетью, которая позволяет создавать мощные приложения путем подключения сервисов и контейнеров.

Команда имеет следующую структуру:

docker network [OPTIONS]

Его аргументы включают в себя:

  • connect для подключения контейнеров к сетям
  • create для построения новых сетей
  • disconnect для отключения запущенных контейнеров от сетей
  • rm для удаления одной или нескольких сетей

Ниже приведены результаты docker network create команда.

Снимок экрана: команда создания докера.
docker network create выход.

15. история докера

Эта команда предоставляет историю указанного изображения, помогая понять, как оно было создано, и отображает размер изображения.

Команда имеет следующую структуру:

docker history [IMAGE]

Ниже мы видим историю, связанную с изображением redis:latest.

Скриншот: команда истории докера.
docker history выход.

16. обновление докера

Эта команда позволяет обновить конфигурацию контейнера. Это помогает предотвратить потребление контейнерами слишком большого количества ресурсов хоста Docker. Формат команды:

docker update [OPTIONS] [CONTAINER]

Некоторые из его вариантов включают в себя:

  • --restart обновляет политику перезапуска контейнера
  • --memory устанавливает ограничение памяти контейнера
  • --cpus устанавливает количество выделенных процессоров

Ниже приведен пример вывода из docker update команда.

Скриншот: команда обновления докера.
docker update выход.

17. установка плагина докера

Эта команда позволяет управлять плагинами. Это важно, поскольку позволяет добавлять новые функции без изменения конфигурации хоста Docker.

docker plugin аргументы включают в себя:

  • create для создания новых плагинов
  • enable для включения установленных плагинов
  • install для установки новых плагинов
  • rm для удаления одного или нескольких плагинов
  • ls для отображения списка плагинов

Ниже мы используем docker plugin install чтобы добавить плагин в нашу среду. Затем мы используем docker plugin ls раскрыть свой статус.

Снимок экрана: команда плагина docker.
docker plugin ls выход.

18. докер-контейнер

Эта команда позволяет управлять контейнерами. Вы используете его, среди прочего, для выполнения таких действий, как создание, уничтожение и удаление контейнеров.

docker container варианты включают в себя:

  • create для создания контейнера
  • commit для создания нового образа после изменений в контейнере
  • exec для выполнения команд внутри работающего контейнера
  • kill для остановки работающего контейнера
  • ls для отображения списка контейнеров на хосте Docker
  • restart для перезапуска контейнера
  • run для создания контейнера из образа и его запуска
  • rm для удаления контейнера с хоста Docker

Ниже приведен пример вывода из docker container команда.

Снимок экрана: команда docker-контейнера.
docker container restart выход.

19. журналы докера

Эта команда извлекает журналы из контейнера. Это дает представление об операциях контейнера, что может быть важно при отладке.

Ниже приведен пример вывода из docker logs команда.

примеры-docker-command-logs
docker logs выход.

20. рой докеров

Эта команда помогает управлять роем Docker — группой компьютеров (виртуальных или физических), на которых работает Docker и настроенных для совместной работы в кластере. Эта команда позволяет легко настроить рой и воспользоваться его преимуществами.

Ниже приведены некоторые из docker swarm параметры:

  • init для начала роя
  • join за присоединение к рою
  • leave за то, что оставил рой
  • update для обновления роя

Ниже приведен пример и вывод docker swarm init команда.

пример-docker-команда-swarm-init
docker swarm init выход.

Краткое содержание

Docker — эффективный инструмент для создания контейнерных приложений и управления ими. Простые для понимания команды интерфейса командной строки упрощают создание и управление даже сложными приложениями.

Освоение 20 приведенных выше команд может ускорить разработку ваших контейнерных приложений.

В Kinsta многие клиенты управляемого хостинга WordPress используют наши инструменты DevKinsta на базе Docker-Desktop для разработки и развертывания своих веб-сайтов.

Клиенты службы хостинга приложений Kinsta могут работать с Docker и своим любимым провайдером Git (Bitbucket, GitHub или GitLab) для контроля версий исходного кода и быстрого развертывания контейнерных приложений.

Стив Бонистил

Кинста

Стив Бонистил — технический редактор Kinsta, который начал свою писательскую карьеру в качестве печатного журналиста, гоняясь за машинами скорой помощи и пожарными машинами. Он освещает технологии, связанные с Интернетом, с конца 1990-х годов.