Часть 1. Базовые команды Docker
Подготовка рабочего окружения
В лабораторной работе по Linux мы уже настроили рабочее окружение в ОС Ubuntu и установили Docker. Если по каким-либо причинам вы этого еще не сделали - проделайте прямо сейчас:
Установка Docker в Ubuntu 22.04:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl status docker
Запустим hello-world:
docker run hello-world
После запуска контейнер отрабатывает, выводит результат работы в STDOUT и сразу завершается, т.к. основной процесс печати руководства внутри него после выполнения завершился.
Если вы хотите, чтобы ваш пользователь мог пользоваться docker без ограничений и необходимости прав суперпользователя - вы можете добавить его в группу docker:
usermod -aG docker $username
Не забудьте после этого перелогиниться, чтобы процесс командного интерпретатора (в моем случае bash) запустился с новыми правами (с правами на группу docker)
Образа - docker pull, docker images
Для того, чтобы запустить "контейнер" нам нужна сущность под названием образ. Подробно все сущности мы разбирали на второй лекции. Остановимся на том, что это заранее упакованный слепок состояния некоторого сервиса или окружения (бибилиотеки и исполняемые файлы), которое можно использовать без дополнительных зависимостей.
Для загрузки образа используется команда docker pull, загрузим образ mysql (найти вручную подходящие образа можно на docker hub):
docker pull mysql

Когда загрузка и распаковка будет завершена, утилита вернет вам управление. Теперь проверим, что же мы скачали с помощью команды docker image ls или docker images:
docker image ls
docker images
Но что, если мы хотим скачать определенную версию образа? Нам помогут метки. Загрузим mysql версии 5.7.39:
docker pull mysql:5.7.39
Убедимся, что теперь у нас есть 2 образа с разными метками:
docker images