Добавить в корзинуПозвонить
Найти в Дзене

[Cloud.ru] Установка Docker на виртуальную машину

Данная статья является частью серии статей: Виртуальная машина для pet-проектов
И является продолжением статьи Создание новой ВМ. Настройка сети. Доступ по SSH
В рамках статьи используется ВМ на ОС Ubuntu 22.04, развернутая в облаке Cloud.ru.
На ВМ есть два пользователя: user1 (с правами sudo) и user2 (без прав sudo)
Оглавление

Данная статья является частью серии статей: Виртуальная машина для pet-проектов

И является продолжением статьи Создание новой ВМ. Настройка сети. Доступ по SSH

Вводные

В рамках статьи используется ВМ на ОС Ubuntu 22.04, развернутая в облаке Cloud.ru.

На ВМ есть два пользователя: user1 (с правами sudo) и user2 (без прав sudo)

Планируется, что user2 будет использовать Docker.

Перед тем как начать

Подключаемся по SSH к ВМ и обновляем пакеты

sudo apt update && sudo apt upgrade -y

Если есть сетевые ошибки, то обращаемся к статье Создание новой ВМ. Настройка сети. Доступ по SSH к разделу "Настраиваем доступ в сеть".

В прошлой статье мы сделали так, что подключиться по SSH может только user2, а у него нет прав sudo, поэтому необходимо переключить пользователя на user1

su - user1

Подготавливаемся к установке Docker

sudo apt install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update

Устанавливаем Docker

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Отступление: обновление ядра и перезапуск служб

Вполне возможно, у вас может появиться сообщение, что запущено старое ядро, а установлено новое.

-2

А после нажатия на Ok появится другое окно, что надо перезапустить службы:

-3

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

-4

Tab-ом выбираем Ok и нажимаем Enter

После этого делаем ребут

sudo reboot

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

И заново зайдём по SSH

Проверяем корректную установку докера

Переключимся на пользователя с sudo

su - user1
sudo docker run hello-world

Должны получить что-то подобное:

-5

Добавляем user2 в группу пользователей docker

sudo usermod -aG docker user2

Проверяем работу Docker для user2

Переключаемся на пользователя user2

su - user2

Иногда назначение в группу может не подхватиться внутри одной сессии терминала, поэтому для надежности применяем команду newgrp

newgrp docker
docker run hello-world

На этот раз команда без sudo, т.к. user2 добавлен в группу docker

На этом этапе можно завершить настройки, но с добавлением user2 в группу docker образовался бэкдор в безопасности ОС, для pet проектов этого достаточно, но как сделать работу с docker более безопасной, описано отдельно.