6,4K подписчиков

Docker на Ubuntu 22.04 простейшая установка

1K прочитали
Контейнеризация именно та вещь при разработке ПО, основы которой необходимо знать и то, чем необходимо владеть каждому современному разработчику в Linux/Unix системах.

Контейнеризация именно та вещь при разработке ПО, основы которой необходимо знать и то, чем необходимо владеть каждому современному разработчику в Linux/Unix системах. Давайте же рассмотрим как установить Docker , Docker-compose на Ubuntu 22.04 без головняка.

💾Ставим Docker

Это вполне нормальная тема, что в репозитории Ubuntu может быть не самая последняя версия Docker. Переходим на официальный сайт проекта и там скачаем новейшую версию пакета.

Сначала обновим и получим существующий список пакетов:

  • sudo apt update

Затем выполним установку обязательных пакетов, которые позволяют apt использовать пакеты по HTTPS:

  • sudo apt install apt-transport-https ca-certificates curl software-properties-common

Добавим ключ GPG официального репозитория Docker в вашу систему:

  • curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Добавим репозиторий Docker:

  • 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, а не Ubuntu:

  • apt-cache policy docker-ce

Если всё сделали правильно, то результат будет примерно таким:

docker-ce:
Installed: (none)
Candidate: 5:20.10.14~3-0~ubuntu-jammy
Version table:
5:20.10.14~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
5:20.10.13~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages

Если результат примерно такой же, то поздравляю! Установка пройдёт так как надо.

Теперь можно устанавливать Docker:

  • sudo apt install docker-ce

💾Проверка работоспособности

Выполним команду проверку статуса работы Docker’а:

  • sudo systemctl status docker

На выходе увидим нечто подобное:

docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-04-01 21:30:25 UTC; 22s ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 7854(dockerd)
Tasks: 7
Memory: 38.3M
CPU: 340ms CGroup: /system.slice/docker.service
└─7854 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Отлично! Служба работает на ура, а это значит, что мы можем чуть пошалить: попробуем запустить какой-нибудь контейнер:

  • sudo docker run hello-world

Если все хорошо, то на выходе увидим:

  • Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    2db29710123e: Pull complete
    Digest: sha256:bfea6278a0a267fad2634554f4f0c6f31981eea41c553fdf5a83e95a41d40c38
    Status: Downloaded newer image for hello-world:lates

    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    ...
Контейнеризация именно та вещь при разработке ПО, основы которой необходимо знать и то, чем необходимо владеть каждому современному разработчику в Linux/Unix системах.-2

💾Даём право не ROOT юзеру ворошить контейнер

Дисклеймер!!!
Никогда без понимания всех рисков не делайте подобного в продакшн системах.
Сейчас пример ниже предоставляется для упрощения и демонстрации.
Т.к. мы фактически выдаём обычному пользователю Root права.
Docker не запускается без sudo по дефолту.

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

  • sudo usermod -aG docker ${USER}

Делаем Logoff/login (Перелогинимся в системе) и повторно выполняем:

  • docker run hello-world

💾Установка Docker-compose

Для начала немного разбавим теорию, чем же отличаются Docker и Docker Compose.

  1. Docker применяется для управления отдельными контейнерами (сервисами), из которых состоит приложение.
  2. Docker-Compose используется для одновременного управления несколькими контейнерами, входящими в состав приложения. Этот инструмент предлагает те же возможности, что и Docker, но позволяет работать с более сложными приложениями.

Запустим команду ниже для установки последней версии docker-compose.
П.С. проверить какая версия является последней всегда можно
тут:

  • curl -SL https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose

Меняем атрибут файл, давая разрешение на запуск:

  • chmod +x ~/.docker/cli-plugins/docker-compose

Убеждаемся в том, прошло ли всё успешно:

  • docker compose version

Если всё отлично, то будет плюс минус:

  • Docker Compose version v2.6.0

На этом всё, удачи ;)