7.2 Основные команды Docker
1 из 4 шагов пройден

Перед выполнением команд нам необходимо установить Docker, для этого перейдем на официальный сайт и установим DockerDesktop. Это приложение для установки в один клик для вашей среды Mac, Linux или Windows, которое позволяет создавать и запускать контейнерные приложения и микросервисы.

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

 

Внимание!

В связи с тем, что компания Docker заблокировала Docker Hub(hub.docker.com) для пользователей из России, необходимо добавить зеркала этого хоста в настройки Docker Desktop.

Для этого откройте страницу настроек Settings | Docker Engine:


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

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://mirror.gcr.io",
    "https://dockerhub.timeweb.cloud/"
  ]
}

После этого нажмите кнопку Apply & restart.

 

Основные команды Docker

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

docker search

Команду docker search можно использовать для поиска образов, доступных в реестре Docker:

docker search [options] term

Графический интерфейс Docker также поддерживает возможность поиска.

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


Поиск в графическом интерфейсе дает те же результаты, как показано ниже:

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


Если выполнить команду search с ключом --filter, она вернет только наиболее часто используемые образы, опираясь на отзывы других пользователей:

docker search --filter stars=50 django

Эта команда вернет все образы, имеющие слово django в названии и получившие не менее 50 звезд по отзывам пользователей:

 

docker pull

Команда docker pull загружает указанный образ из реестра Docker на локальный компьютер:

docker pull image:tag

Например, как показано ниже, команда docker pull django загрузит образ django.

Если тег (tag, обозначающий версию) не указан, команда подставит тег latest и загрузит только последнюю версию образа Django. В этом случае она будет действовать подобно команде:

docker pull django:latest

 

docker images

Команда docker images возвращает список образов верхнего уровня, доступных на локальном компьютере:

docker images [options]


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


Также мы можем посмотреть наши образы через графический интерфейс:

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

 

docker rmi

Команда docker rmi удаляет указанный образ или образы на локальном компьютере:

docker rmi [options] image [image, image...]

Например, команда docker rmi django, представленная на  скриншоте ниже, удалит образ Django, а также все уровни, установленные с хоста:

 

docker run

Следующий логичный шаг после загрузки образа (командой pull) – его запуск. Именно это делает команда docker run:

docker run [options] image: tag [command, args]


Данная команда разворачивает контейнер в его собственной файловой системе, имеющей свой набор портов и IP-адрес.

Кроме названия образа, команде run можно также передать дополнительные ключи и аргументы. Вот наиболее часто используемые из них:

  •  --interactive переключает команду в интерактивный режим и открывает STDIN;
  •  --tty создает псевдотерминал TTY.


Команда docker run поддерживает множество других ключей, например для запуска процесса в фоновом режиме -d, когда контейнер запускается без поддержки командной строки. Также можно переопределить являющиеся частью запускаемого образа команды по умолчанию. Дополнительно можно задать ограничения на объем памяти и количество доступных процессоров.


Для примера давайте загрузим образ Ubuntu и выполним команду run:

docker pull ubuntu:latest


Эта команда загрузит образ Ubuntu на локальный компьютер, в чем можно убедиться, выполнив команду docker images -a


Теперь запустим этот образ на локальном компьютере с ключами --interactive и --tty.

Дополнительно потребуем запустить процесс командной оболочки:

docker run --interactive --tty ubuntu sh

Сейчас на нашем локальном компьютере выполняется контейнер Ubuntu.

Вы можете выполнить любые команды в этом окне, какие пожелаете. В качестве примера выполним несколько простых команд:

Как видите, каталог bin содержит все основные программы, необходимые системе для работы.

Чтобы выйти, можем ввести команду exit.


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