как узнать версию контейнера docker
20 полезных команд для работы с Docker в Linux
Docker Container – технология, которая позволяет автоматизировать процесс развертывания и управления приложениями в среде виртуализации на уровне операционной системы. В основном Docker-контейнеры используются для СI/CD cистем.
В статье рассмотрим 20 самых часто используемых Docker команд на примере Linux-систем.
1.Проверка версии Docker
Прежде, чем приступать к работе, необходимо знать, какая версия Docker используется. Для этого достаточно ввести
2.Получение информации об инсталляции
Также важно знать основную информацию об инсталляции, что можно сделать с помощью команды « docker info»
3. Поиск Docker образов (images) на сервере регистра
Используя команду «docker search», можно запустить поиск Docker образов на сервере регистра с терминала. Предположим, необходимо найти последние Docker образы Debian.
Вывод должен выглядеть примерно так
4. Скачивание образов Docker-контейнеров
С помощью команды docker pull можно загружать образы Docker-контейнера с сервера регистра или репозитория.
Синтаксис: # docker pull
Команда docker pull всегда загружает последнюю версию образа, но есть возможность указать конкретный образ. Например, необходимо загрузить последнюю версию Debian Docker image
Загрузка конкретной версии ОС образа Docker-контейнера
Если, к примеру, мы хотим скачать образ Docker-контейнера для Ubuntu 14.04.
5. Список всех загруженных образов Docker-контейнера
Всякий раз, когда мы загружаем образы докеров с помощью команды «docker pull», сохраняются локальные образы докеров (/var/lib/docker) на Docker сервере. Можно также перечислить все загруженные образы докеров с помощью команды «docker images»,
6. Запуск Docker-контейнера
Контейнеры запускаются с помощью команды «docker run». Например, мы хотим запустить контейнер с образом Debian.
Эта команда запускает контейнер с именем «debian_container1», далее нужно установить pat rule таким образом, что если какой-либо запрос приходит к 9000 порту на хосте docker, то он будет перенаправлен на контейнер debian на 80-порту. Мы получаем консоль сразу после выполнения команды. Чтобы остановить/закрыть контейнер, нужно ввести exit либо «ctrl + p + q» (закрывает контейнер без выхода).
7. Запуск контейнера в режиме демона
8. Получение контейнерной консоли с ‘docker attach’
В приведенном выше примере у нас есть контейнер в режиме демона, мы можем использовать его консоль с помощью команды «docker attach».
Синтаксис: # docker attach
9. Список контейнеров по команде «docker ps»
Чтобы перечислить все запущенные контейнеры, необходимо помощью ввести команду «docker ps».
10. Запуск, остановка, перезагрузка и уничтожение контейнеров
Как и виртуальные машины, мы можем запускать, останавливать и перезапускать Docker-контейнеры.
Для остановки запущенного контейнера используется команда
Для запуска контейнера необходимо ввести
Команда, которая используется для перезапуска контейнера
Мы также можем уничтожить процесс Docker-контейнера
11. Удалить/переместить Docker-контейнер
Команда «docker rm» используется для перемещения или удаления контейнера. Работает только тогда, когда Docker остановлен / выключен.
Синтаксис: # docker rm
12. Удаление/перемещение образов Docker-контейнера
Подобно контейнерам мы также можем удалить или переместить образы контейнеров командой «docker rmi». Предположим, нужно удалить образ ‘Ubuntu: 14.04’
В приведенной выше команде вместо названия образа можно использовать его id.
13. Сохранить и загрузить образ контейнера Docker в/из файла tar
Предположим, что мы сделали некоторые изменения в debian-образе и хотим экспортировать его как tar-файл. Это можно сделать с помощью команды «docker save».
14. Экспорт и импорт контейнера в/из tar-архива
Контейнер можно экспортировать в файл tar с помощью команды «docker export». Синтаксис показан ниже
Например, необходимо экспортировать web_container в tar-файл.
Команда «docker import» используется для импорта контейнера из файла tar
15. Отображение истории образа Docker-контейнера
Используя команду «docker history», можно посмотреть, какие команды выполнялись при построении образа Docker-контейнера, как на примере, показанном ниже.
Синтаксис: # история докера
16. Извлечение журналов из контейнера
Можно извлекать журналы из контейнеров без входа в систему, используя команду «docker logs»
Синтаксис: docker logs
17. Статистика использования ресурсов Docker-контейнера
Для отображения ресурсов центрального процессора, памяти и сетевого ввода-вывода всех контейнеров применяется команда «docker stats»
18. Вывод IP-адреса контейнера
Информация о низкоуровневом контейнере отображается с помощью команды «docker inspect». Мы можем получить IP-адрес контейнера из вывода команды. Пример показан ниже.
19. Создание образов Docker-контейнеров с помощью Dockerfile
Команда «docker build» позволяет создать образ контейнера с помощью DockerFile.
20. Задать тег/название для образа Docker-контейнера
Команда «docker tag» используется для установки тега или названия образа Docker-контейнера в репозитории.
Синтаксис: # tag docker source_image <: tag>target_image
Предположим, мы хотим установить название образа ‘centos: 7’ как ‘MyCentOS7: v1’
Теперь образ контейнера имеет название
Подробно об использовании и настройке Docker изучайте на нашем курсе « Администрирование Docker»!
Список важнейших команд в Docker
Apr 7, 2020 · 9 min read
Содержание
Вступление
Контейнеры Docker преобразовались из нишевой технологии в обязательный атрибут наших сред разработки. Иногда нам приходится тратить невероятное количество времени на отладку или борьбу с самим инструментом, от которого изначально ожидается прирост продуктивности. С каждой же новой волной технологий приходится осваивать великое множество происходящих изменений.
Наверняка многие из вас проводили по одному-два дня, пыт а ясь настроить кластер Docker или получая часть кода, которая продолжает проваливать загрузку контейнера Docker. Большинство разработчиков много времени затрачивают именно на конфигурирование — поиск багов становится делом, которое, как начинает казаться, перевешивает временные затраты на саму разработку нового функционала. Это особенно актуально, когда вы работаете в новой среде или среде, которая ещё не достигла своей “зрелости”.
Менее удачливые из нас не имеют стабильных сред с идеальными CI/CD процессами. Эта статья как раз для тех, кто попадает в эту категорию. Содержащаяся в ней информация взята из реального опыта. Как и вы, я проводил за отладкой дни напролёт. Эта же статья является своеобразным дополнением основного сайта технической документации Docker. В то же время она заостряет внимание на самых распространённых командах, которые вы будете использовать ежедневно в процессе работы с Docker.
Надеюсь, что это руководство поможет вам ориентироваться в сложном процессе отладки и работы с Docker. Обращайте внимание на сопроводительные пояснения к командам при их прочтении.
Сборка Docker
Это создаст образ Docker с опциональными аргументами сборки. Docker будет по умолчанию кэшировать результаты для первой сборки Dockerfile или последующих сборок, основанных на слоях, добавленных к образу через команду run в Dockerfile, что позволит этим сборкам работать быстрее. Если вам это не нужно, можете добавить аргумент “no-cache”, как это сделано в примере выше.
Заметка: команды Docker могут быть выполнены по имени или по ID контейнера. допускает подстановку либо ID контейнера, либо его имени.
Запуск контейнеров Docker
Запуск существующего контейнера. Здесь мы предполагаем, что он уже был загружен и создан.
Остановка существующего контейнера Docker.
Если у вас есть несколько запущенных контейнеров Docker, и вы хотите остановить их все, наберите docker stop и список ID этих контейнеров.
Выполнение команды оболочки внутри конкретного контейнера.
Это интересная команда, предназначенная для единовременного создания и запуска контейнера. Она также запускает команду внутри него и затем, после выполнения этой команды, удаляет контейнер.
Приостановить все запущенные процессы внутри конкретного контейнера.
Эта команда демонстрирует, как запускать образ Docker со множеством переменных среды, переданных в виде аргументов. Знак \ здесь выступает в качестве прерывателя строки.
Отладка контейнеров Docker
Отображает историю конкретного образа. Эта информация полезна, когда вы хотите узнать детали и получить подробное представление о том, как появился образ Docker. Давайте здесь немного отвлечёмся, т.к. это необходимо для полноценного понимания действий указанной команды. Сама же документация по ней весьма скудная.
В случае с Docker образы создаются на верхушках слоёв, которые являются строительными элементами этих образов. Каждый контейнер состоит из образа с читаемым/записываемым слоем, который вы можете рассматривать как постоянное состояние или файл. Помимо этого, добавляются и другие слои, доступные только для чтения. Эти слои (также называемые промежуточными образами) генерируются, когда при выполнении команды build образа Docker выполняются команды в Dockerfile.
Список всех образов, хранящихся в данный момент на машине.
Docker inspect отображает низкоуровневую информацию о конкретном объекте Docker. Данные, хранящиеся в этом объекте, могут оказаться весьма полезны при отладке, например при перекрёстной проверке точек монтирования Docker.
Обратите внимание, что есть два основных ответа, получаемых этой командой — детали уровня образа и детали уровня контейнера. Вот кое-что из того, что вы можете получить с помощью этой команды:
Отображение версии Docker, включая версию клиента и сервера, установленные на машине в данный момент.
Да, вы всё правильно поняли. Docker — это клиент-серверное приложение. Демон (продолжительно выполняемая фоновая служба Linux) — это сервер, а CLI — это один из многих клиентов. Демон Docker раскрывает REST API, посредством которого с ним могут взаимодействовать различные инструменты.
Docker в AWS ECS
Бывают случаи, когда вам нужно войти в запущенный контейнер Docker для отладки или перекрёстной проверки правильности конфигурации.
Честно говоря, причиной тому может быть многое, включая: 1) проблемы кода, например, было выброшено не перехваченное исключение, и контейнер Docker не запустился, 2) вам не хватает пространства на жёстком диске, если вы используете кластер ECS в экземплярах EC2 и при этом для размещения ECS не используете Fargate, 3) ваш действующий контейнер Docker исчерпал доступную EC2 память.
Если сомневаетесь, перезапустите службу Docker
Здесь пояснения не требуются.
Очистка образов Docker
Docker для очистки неиспользуемых объектов вроде образов, контейнеров, томов и сетей, применяет консервативный подход.
Эти объекты, как правило, не удаляются, пока вы явно не попросите об этом Docker. Поэтому, если эти объекты не удалить, то вскоре они начнут занимать много места. В связи с этим очень важно периодически выполнять нижеприведённую команду для очистки неиспользуемых образов.
Убить выполняющийся контейнер.
Убить все выполняющиеся контейнеры.
Удалить конкретный контейнер, не запущенный в данный момент. Если образ существует в удалённом реестре, он не будет затронут.
Удалить все контейнеры, незапущенные в данный момент.
Получить доступ к журналам контейнера (полезно при отладке).
Загрузка образов Docker из удалённого реестра
Docker Hub
Docker Hub — это служба Docker для нахождения и совместного использования образов контейнеров.
Docker сперва проверит, доступен ли этот образ на вашей локальной машине. Если нет, он приступит к его загрузке с репозитория Docker Hub. Такое поведение предусмотрено изначально.
Для входа на Docker Hub вы можете запустить вышеприведённую команду, которая предложит ввести пароль.
Пользовательский реестр Docker
Если вы извлекаете образ из обобщённого пользовательского реестра Docker, требующего авторизацию, то команда docker login позволят произвести извлечение из любого реестра Docker, как показано выше. Имейте в виду, что при использовании приведённого подхода, будет создана запись в файле
/.docker/config.json для изменения деталей авторизации.
Реестр Elastic-контейнеров Amazon
Реестр Elastic-контейнеров (ECS) — это полноценно поддерживаемый реестр контейнеров Docker, позволяющий разработчикам хранить, поддерживать и разворачивать образы контейнеров Docker. Amazon ECS отлично работает с Amazon ECR. Если вам вдруг понадобится извлечь образы из реестра ECR, следуйте следующим инструкциям.
Вам нужно настроить AWS CLI так, чтобы пользователь IAM имел доступ к AWS и секретный ключ.
Amazon ECR требует, чтобы ключи пользователя IAM имели разрешения ( ecr:GetAuthrizationToken ) через политику IAM, только тогда вы сможете авторизоваться и извлечь образы. В качестве альтернативы вы можете использовать утилиту Amazon ECR Docker Credential Helper. Ниже представлен подход, предполагающий использование вами AWS CLI и корректную настройку всех разрешений.
Команда get-login генерирует длинную команду входа Docker. Скопируйте её и выполните. Авторизация необходима, чтобы получить возможность извлекать образы из AWS ECR.
Экспорт и импорт физических образов Docker
Если вам понадобится экспортировать образ Docker на диск и загрузить обратно, вышеуказанная команда это осуществит.
Экспортирование в файл полезно для случаев, когда вам нужно переместить образы с одной машины на следующую через альтернативного посредника (не через реестр Docker). Существует несколько сред, имеющих запрет доступа в связи с их политикой безопасности. Это может помешать вам произвести миграцию между реестрами, поэтому приведённая команда весьма полезна, хотя зачастую несправедливо недооценена.
Список важнейших команд в Docker
Содержание
Вступление
Контейнеры Docker преобразовались из нишевой технологии в обязательный атрибут наших сред разработки. Иногда нам приходится тратить невероятное количество времени на отладку или борьбу с самим инструментом, от которого изначально ожидается прирост продуктивности. С каждой же новой волной технологий приходится осваивать великое множество происходящих изменений.
Наверняка многие из вас проводили по одному-два дня, пытаясь настроить кластер Docker или получая часть кода, которая продолжает проваливать загрузку контейнера Docker. Большинство разработчиков много времени затрачивают именно на конфигурирование — поиск багов становится делом, которое, как начинает казаться, перевешивает временные затраты на саму разработку нового функционала. Это особенно актуально, когда вы работаете в новой среде или среде, которая ещё не достигла своей “зрелости”.
Менее удачливые из нас не имеют стабильных сред с идеальными CI/CD процессами. Эта статья как раз для тех, кто попадает в эту категорию. Содержащаяся в ней информация взята из реального опыта. Как и вы, я проводил за отладкой дни напролёт. Эта же статья является своеобразным дополнением основного сайта технической документации Docker. В то же время она заостряет внимание на самых распространённых командах, которые вы будете использовать ежедневно в процессе работы с Docker.
Надеюсь, что это руководство поможет вам ориентироваться в сложном процессе отладки и работы с Docker. Обращайте внимание на сопроводительные пояснения к командам при их прочтении.
Сборка Docker
Это создаст образ Docker с опциональными аргументами сборки. Docker будет по умолчанию кэшировать результаты для первой сборки Dockerfile или последующих сборок, основанных на слоях, добавленных к образу через команду run в Dockerfile, что позволит этим сборкам работать быстрее. Если вам это не нужно, можете добавить аргумент “no-cache”, как это сделано в примере выше.
Заметка: команды Docker могут быть выполнены по имени или по ID контейнера. допускает подстановку либо ID контейнера, либо его имени.
Запуск контейнеров Docker
Запуск существующего контейнера. Здесь мы предполагаем, что он уже был загружен и создан.
Остановка существующего контейнера Docker.
Если у вас есть несколько запущенных контейнеров Docker, и вы хотите остановить их все, наберите docker stop и список ID этих контейнеров.
Выполнение команды оболочки внутри конкретного контейнера.
Это интересная команда, предназначенная для единовременного создания и запуска контейнера. Она также запускает команду внутри него и затем, после выполнения этой команды, удаляет контейнер.
Приостановить все запущенные процессы внутри конкретного контейнера.
Эта команда демонстрирует, как запускать образ Docker со множеством переменных среды, переданных в виде аргументов. Знак \ здесь выступает в качестве прерывателя строки.
Отладка контейнеров Docker
Отображает историю конкретного образа. Эта информация полезна, когда вы хотите узнать детали и получить подробное представление о том, как появился образ Docker. Давайте здесь немного отвлечёмся, т.к. это необходимо для полноценного понимания действий указанной команды. Сама же документация по ней весьма скудная.
В случае с Docker образы создаются на верхушках слоёв, которые являются строительными элементами этих образов. Каждый контейнер состоит из образа с читаемым/записываемым слоем, который вы можете рассматривать как постоянное состояние или файл. Помимо этого, добавляются и другие слои, доступные только для чтения. Эти слои (также называемые промежуточными образами) генерируются, когда при выполнении команды build образа Docker выполняются команды в Dockerfile.
Список всех образов, хранящихся в данный момент на машине.
Docker inspect отображает низкоуровневую информацию о конкретном объекте Docker. Данные, хранящиеся в этом объекте, могут оказаться весьма полезны при отладке, например при перекрёстной проверке точек монтирования Docker.
Обратите внимание, что есть два основных ответа, получаемых этой командой — детали уровня образа и детали уровня контейнера. Вот кое-что из того, что вы можете получить с помощью этой команды:
Отображение версии Docker, включая версию клиента и сервера, установленные на машине в данный момент.
Да, вы всё правильно поняли. Docker — это клиент-серверное приложение. Демон (продолжительно выполняемая фоновая служба Linux) — это сервер, а CLI — это один из многих клиентов. Демон Docker раскрывает REST API, посредством которого с ним могут взаимодействовать различные инструменты.
Docker в AWS ECS
Бывают случаи, когда вам нужно войти в запущенный контейнер Docker для отладки или перекрёстной проверки правильности конфигурации.
Честно говоря, причиной тому может быть многое, включая: 1) проблемы кода, например, было выброшено не перехваченное исключение, и контейнер Docker не запустился, 2) вам не хватает пространства на жёстком диске, если вы используете кластер ECS в экземплярах EC2 и при этом для размещения ECS не используете Fargate, 3) ваш действующий контейнер Docker исчерпал доступную EC2 память.
Если сомневаетесь, перезапустите службу Docker
Здесь пояснения не требуются.
Очистка образов Docker
Docker для очистки неиспользуемых объектов вроде образов, контейнеров, томов и сетей, применяет консервативный подход.
Эти объекты, как правило, не удаляются, пока вы явно не попросите об этом Docker. Поэтому, если эти объекты не удалить, то вскоре они начнут занимать много места. В связи с этим очень важно периодически выполнять нижеприведённую команду для очистки неиспользуемых образов.
Убить выполняющийся контейнер.
Убить все выполняющиеся контейнеры.
Удалить конкретный контейнер, не запущенный в данный момент. Если образ существует в удалённом реестре, он не будет затронут.
Удалить все контейнеры, незапущенные в данный момент.
Получить доступ к журналам контейнера (полезно при отладке).
Загрузка образов Docker из удалённого реестра
Docker Hub
Docker Hub — это служба Docker для нахождения и совместного использования образов контейнеров.
Docker сперва проверит, доступен ли этот образ на вашей локальной машине. Если нет, он приступит к его загрузке с репозитория Docker Hub. Такое поведение предусмотрено изначально.
Для входа на Docker Hub вы можете запустить вышеприведённую команду, которая предложит ввести пароль.
Пользовательский реестр Docker
Если вы извлекаете образ из обобщённого пользовательского реестра Docker, требующего авторизацию, то команда docker login позволят произвести извлечение из любого реестра Docker, как показано выше. Имейте в виду, что при использовании приведённого подхода, будет создана запись в файле
/.docker/config.json для изменения деталей авторизации.
Реестр Elastic-контейнеров Amazon
Реестр Elastic-контейнеров (ECS) — это полноценно поддерживаемый реестр контейнеров Docker, позволяющий разработчикам хранить, поддерживать и разворачивать образы контейнеров Docker. Amazon ECS отлично работает с Amazon ECR. Если вам вдруг понадобится извлечь образы из реестра ECR, следуйте следующим инструкциям.
Вам нужно настроить AWS CLI так, чтобы пользователь IAM имел доступ к AWS и секретный ключ.
Amazon ECR требует, чтобы ключи пользователя IAM имели разрешения ( ecr:GetAuthrizationToken ) через политику IAM, только тогда вы сможете авторизоваться и извлечь образы. В качестве альтернативы вы можете использовать утилиту Amazon ECR Docker Credential Helper. Ниже представлен подход, предполагающий использование вами AWS CLI и корректную настройку всех разрешений.
Команда get-login генерирует длинную команду входа Docker. Скопируйте её и выполните. Авторизация необходима, чтобы получить возможность извлекать образы из AWS ECR.
Экспорт и импорт физических образов Docker
Если вам понадобится экспортировать образ Docker на диск и загрузить обратно, вышеуказанная команда это осуществит.
Экспортирование в файл полезно для случаев, когда вам нужно переместить образы с одной машины на следующую через альтернативного посредника (не через реестр Docker). Существует несколько сред, имеющих запрет доступа в связи с их политикой безопасности. Это может помешать вам произвести миграцию между реестрами, поэтому приведённая команда весьма полезна, хотя зачастую несправедливо недооценена.
Основные команды Docker
Рассмотрим систему управления контейнерами под названием Docker. Ознакомимся с базовыми принципами ее работы, а также подробно рассмотрим основные команды, необходимые для управления Docker и ее составляющими.
Краткая справка
Docker — это система управления контейнерами. Контейнеры же представляют собой логическое эволюционное продолжение виртуальных машин. Это изолированная среда для разработки и тестирования программного обеспечения.
Контейнер Docker потребляет мало ресурсов и быстро запускается, а еще его легко переносить с одного устройство на другое. Из-за этих преимуществ Docker постепенно наращивает аудиторию и превращается в некий индустриальный стандарт, которым пользуются даже крупные корпорации вроде Microsoft.
Поэтому стоит хотя бы на базовом уровне понимать, что есть Docker и как им управлять. В этом материале речь пойдет об основных командах для управления контейнерами. Будем их создавать, запускать, удалять и выполнять прочие полезные задачи, возникающие по ходу работы.
Общие сведения об основных командах Docker
Управление контейнерами и образами в Docker мало чем отличается от управления другими приложениями в терминале Linux. Принцип тот же – вводим текст и получаем результат. Сначала надо указать ключевое слово Docker, потом указать команду, которую надо выполнить, а затем объект применения команды, аргументы, опции и прочие дополнения. Типичная операция, выполняемая в Docker, выглядит вот так:
Для того чтобы обратиться к конкретному контейнеру или образу в Docker, используются их ID или названия, придуманные разработчиком. Допустим, для создания и запуска контейнера с названием new_container надо ввести:
У команд существуют опции и аргументы. Их тоже рассмотрим.
Команды для управления контейнерами
Контейнер — ключевая единица в Docker. Поэтому для начала разберемся, как управлять ей.
Далее рассмотрим каждую из команд подробнее.
container create
Из названия понятно, что речь идет о создании нового контейнера. Это основная функция Docker, с нее начинается его работа.
Синтаксис следующий: docker create [опции] название образа [дополнительные команды][аргументы].
В квадратных скобках указываются опциональные компоненты команды. Использовать их необязательно, но можно оптимизировать создаваемый контейнер под свои задачи.
К примеру, добавить ссылку на другой контейнер с помощью тега –link. Или подключить Standard Input с помощью команды в духе:
Либо создать контейнер из образа операционной системы Ubuntu, добавив подключение к терминалу и запуск bash при каждом старте Docker:
Только при наличии терминала можно управлять контейнером. Поэтому его нужно обязательно запрашивать при каждому запуске.
container start
В отличие от предыдущей команды, эта запускает контейнер, который существует, но находится в нерабочем состоянии.
Синтаксис следующий: docker start [опции] название или ID контейнера [название или ID контейнера].
Все просто – вводите команду, а потом указываете название контейнера, чтобы его запустить:
Какой из вариантов использовать, решает разработчик, ориентируясь на собственные предпочтения. Технических отличий нет.
container run
Комбинирует две вышеописанные команды. Сначала создает новый контейнер, а потом тут же его включает.
Синтаксис следующий: docker run [опции] название образа [команды][аргументы].
Практика та же, что мы видели в синтаксисе команды docker create. Разница в одном слове и доступных опциях.
Чтобы создать контейнер из образа Ubuntu и тут же взять контроль над ним через командную строку, нужно сделать запрос терминала через опции команды.
используется для подключения к контейнеру с возможностью передавать ему команды после создания.
stop
Выполняет противоположную функцию. То есть не запускает контейнер, а, наоборот, останавливает его работу.
Например, чтобы выключить контейнер с именем Timeweb, надо ввести в терминал:
Аналогично с ID. Просто имя надо заменить на уникальный код, привязанный к контейнеру. Получится что-то в духе:
restart
Последняя команда, связанная с рабочим состоянием. Она выполняет перезапуск выбранного контейнера.
Синтаксис следующий: docker restart [опции] название или ID контейнера [название или ID контейнера].
Вводите команду, а потом указываете название контейнера, чтобы его перезапустить:
container ls (или docker ps)
Обе команды выполняют одну и ту же задачу. Просто одна из них использовалась раньше, а другая появилась позднее.
docker ps отображает в терминале все запущенные контейнеры. А при добавлении опции -a в список попадают все контейнеры, созданные в системе.
В вывод команды попадают следующие параметры:
При желании можно использовать опцию volume, чтобы в терминале отображались только тома, являющиеся предпочтительным механизмом хранения данных в Docker.
logs
Одна из команд, позволяющая подробнее ознакомиться с тем, как работает Docker. Точнее одна из его запущенных единиц. Показывает, как функционирует контейнер и что в текущий момент с ним происходит. Выводит некий журнал данных.
Если указать ключ –follow и название контейнера, то в терминал в реальном времени будут выводиться логи Docker. Так можно беспрерывно наблюдать за его работой и возможным появлением ошибок.
inspect (для контейнера)
Отображает подробную информацию из Docker после обращения к конкретному контейнеру.
Синтаксис следующий: docker inspect [опции] название или ID контейнера [название или ID контейнера].
По умолчанию отображает данные в формате JSON. Можно использовать дополнительную опцию –format для смены формата данных.
rm
Команда удаления одного или нескольких контейнеров Docker, найденных на диске вашего хостинга.
Синтаксис следующий: docker rm [опции] название или ID контейнера [название или ID контейнера].
Чтобы удалить сразу несколько контейнеров с разными названиями и ID, нужно ввести:
Перед тем как удалить контейнер, нужно его выключить. Для этого надо воспользоваться командой:
Команды Docker для управления образами
Еще одна значимая единица в Docker — образы. Управление ими во многом похоже на управление контейнерами, но есть ряд отличий, которые важно учитывать. Причем как в командах, так и в опциях.
Рассмотрим каждую из них немного подробнее.
build
С помощью этой команды можно собрать образ, используя заранее подобранные параметры. Собираются одни из данных, хранящихся в файлах Dockerfile. Они находятся по определенным URL или заранее загружены в файловую систему.
Синтаксис следующий: docker image build [опции] название и адрес файла Dockerfile, из которого будет собран образ.
Например, если вы хотите собрать образ с названием Timeweb и тегом host в директории moy_repositoriy, то надо ввести в терминал:
Образами можно делиться через сервис Docker Hub. Тогда ими смогут пользоваться другие пользователи Docker, указав при сборке соотвествующий адрес. Для входа в Hub используется команда docker login (еще упомянем ее ниже).
push
После сборки образа на диске хостинга его можно разместить в Docker Hub с помощью отдельной команды.
Синтаксис следующий: docker image push [опции] название и адрес, где будет размещен образ
К примеру, чтобы отправить в хаб образ Timeweb, который мы создали ранее, нужно ввести в терминал:
Он будет размещен по адресу, указанному в команде push. После этого его смогут вытащить другие пользователи.
pull
В Docker Hub находится большой список уже готовых образов, которые были созданы вами или другими пользователями. Чтобы не собирать новые из Dockerfile, можно скачать уже имеющиеся и работать с ними. Чтобы их вытащить, нужна команда pull.
Синтаксис следующий: docker image pull [опции] название и адрес, где будет размещен образ.
К примеру, чтобы вытащить из хаба образ Timeweb, который мы создали ранее, нужно ввести в терминал:
Аналогичным образом его смогут вытаскивать другие пользователи, обращаясь к адресу и названию образа, которые вы указывали.
ls
docker image ls отвечает за отображение в терминале дополнительной информации об образах. Она показывает их список (как и в случае с контейнерами) и информацию о размере каждого.
Синтаксис следующий: docker image pull [опции][адрес репозитория:тег].
В вывод команды можно добавить другие данные с помощью отдельных ключей:
-a — увеличивает список отображаемых образов за счет отображения даже промежуточных. –digests — добавляет в вывод команды еще и дайджесты. -f — фильтрует выдачу по заранее определенным условиям. –format — меняет формат отображения данных на основе шаблона Go. –no-trunc — отключает усечение информации в терминале. -q — показывает ID вместо названий образов.
history
Показывает своего рода историю образа. Речь идет о «слоях», то есть промежуточных вариациях образа, входящих в его состав. Команда history показывает их названия, размер и дату создания.
Синтаксис следующий: docker history [опции] название образа.
Например, чтобы отобразить слои образа Timeweb, введем в терминал:
inspect (для образа)
Отображает подробную информацию из Docker после обращения к конкретному образу.
Синтаксис следующий: docker inspect [опции] название или ID контейнера [название контейнера или образа].
По умолчанию отображает данные в формате JSON. Можно использовать дополнительные опции –format для смены формата данных. Опция -s показывает размер инспектируемых элементов.
rm
Команда удаления одного или нескольких образов Docker, найденных на диске вашего хостинга.
Синтаксис следующий: docker rm [опции] название и путь до образа.
Чтобы удалить образ Timeweb из системы, нужно ввести:
Эта команда позволяет выбирать только образы, которые хранятся локально. Удаленные элементы из репозитория удалить не получится.
Чтобы удалить все локальные образы, обнаруженные в системе, введем в терминал:
images
Команда показывает все образы Docker, которые расположены на жестком диске вашего сервера (или локально).
Вывод команды docker images выглядит так: