Информационные технологии (часть 2)

3. Основы docker

Введение

Целью данной лабораторной работы является знакомство с программой docker.

Установка docker

Прочитайте про инструментарий для установки программ Advanced Packaging Tool и консольный интерфейс к этом инструментарию Apt-Get.

Далее, в связи с изменением инструкции по установке docker на сайте docker, будет рассмотрен способ установки, отличный от предлагаемого ранее на этой странице. Если Вы уже выполнили эту лабораторную работу с помощью старого способа, то при оформлении отчета и защиты работы можете его использовать, его описание – под спойлером.

Первоначальный способ установки. В терминале виртуальной машины выполните команду, которая обновит информацию о доступных для установки программах:
sudo apt-get update

Примечание: большинство действий apt-get требуют прав администратора (root), команда sudo позволяет выполнять другие команды с такими правами.

Установите дополнительные пакеты, которые потребуются для установки docker:

sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

Примечание: символ обратного слеша (\) используется для разделения в терминале текста, который должны быть набран в одну строку, на несколько строк на экране (для лучшей читаемости).

Примечание: в процессе выполнения команд в терминале могут появиться вопросы, действительно ли пользователь желает выполнить определенные действия. Предлагается ввести (при русифицированном интерфейсе) буквы «д» или «н», соответствующие ответам «да» и «нет», ответ по-умолчанию начинается с большой буквой. Для ответа также можно использовать английские «y» (yes – да) и «n» (no – нет).

Установите цифровой ключ для проверки подписи устанавливаемого программного обеспечения (docker):

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Примечание: символ вертикальной линии (|) запускает конвейерное выполнение команд, т.е. результат выполнения первой команды передается на вход второй. Утилита curl скачивает цифровой ключ и передает его утилите apt-key для установки.

Установите репозиторий docker:

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

Примечание: docker состоит из нескольких программ, в частности репозиторий (Docker repository) нужен для загрузки и других операций с образами контейнеров, а движок (Docker Engine) позволяет их запускать.

Установите движок docker:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Перейдите на страницу https://download.docker.com/linux/ubuntu/dists/, выберите нужную версию Ubuntu, перейдите в папку /pool/stable, выберите архитектуру amd64, armhf или arm64 и загрузите последние версии файлов containerd.io_𝑣𝑒𝑟𝑠𝑖𝑜𝑛.deb, docker-ce-cli_𝑣𝑒𝑟𝑠𝑖𝑜𝑛.deb и docker-ce_𝑣𝑒𝑟𝑠𝑖𝑜𝑛.deb. Для рекомендуемой ранее виртуальной машины этий файлы находятся по адресу https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/.

Установите каждый из скаченных файлов с помощью команды:

sudo dpkg -i 𝑝𝑎𝑐𝑘𝑎𝑔𝑒.deb

Проверьте корректность установки:

sudo docker run hello-world

Примечание: Данная команда попытается запустить образ hello-world. Не обнаружив его в локальном репозитории она скачает его последнюю версию из глобального репозитория и запустит.

Работа с образами

Посмотрите имеющиеся в репозитории docker образы с помощью команды

sudo docker images

Попробуйте удалить имеющийся образ с помощью команды

sudo docker image rm 𝘐𝘔𝘈𝘎𝘌_𝘐𝘋

Посмотрите контейнеры с помощью команды (ключ -a – показывать остановленные контейнеры)

sudo docker ps -a

Удалите контейнер с помощью команды

sudo docker container rm 𝘊𝘖𝘕𝘛𝘈𝘐𝘕𝘌𝘙_𝘐𝘋 или 𝘕𝘈𝘔𝘌𝘚

Удалите образ.

Скачайте образ c операционной системой alpine:

sudo docker pull alpine

Запустите образ alpine. Посмотрите список контейнеров.

Выполните команду

sudo docker run -it alpine

Повторите команды из последнего раздела первой лабораторной работы в терминале alpine.

Запустите еще один терминал на виртуальной машине и посмотрите в нем список контейнеров. Удалите контейнер с запущенным образом alpine. Посмотрите, что произошло в первом терминале.