Установка Docker в Ubuntu, CentOS, Windows

Почитал мануалов и сказано в них, что не по-пацански (не по админски) устанавливать Docker из репозиториев, ибо грех это! И так какие VPS у меня есть на текущий момент в работе? Это Debian, Ubuntu 22 и CentOS 7. Значит устанавливаем Docker и там и там и сравниваем отличия в установке.

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

  • Обновление репозитория и установка зависимостей:
apt update
apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common lsb-release
  • Теперь можно загрузить и установить пакет Docker. Добавьте в систему GPG-ключ репозитория Docker.

Для Debian:

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

Для Ubuntu (версии 18.04 LTS и выше):

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  • Добавьте этот репозиторий Docker в APT и обновить индекс пакетов.

Для Debian:

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

Для Ubuntu:

 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
apt update
  • Чтобы установить Docker, введите,

Для Debian:

apt install docker-ce

Для Ubuntu:

apt install docker-ce docker-ce-cli containerd.io
  • После установки должен запустится демон и настроится автозапуск процесса, проверим командой:
systemctl status docker

Теперь в системе работает системная служба Docker. Давайте что-нибудь запустить, чтобы увидеть что докер работает, например:

docker run hello-world
  • Проверяем, что всё установилось. У вас должны работать следующие команды (версии могут различаться)
# docker -v
Docker version 23.0.3, build 3e7cbfd

Всё! Далее устанавливаем docker-compose и подключаемся к Docker Hub.

Теперь попробуем установить Docker в всё еще не умирающем CentOS версии 7. Кстати Доккер официально поддерживается только в 7 и 8 версии CentOS, а 6 забыли, хотя она до сих пор распространена.

В CentOS сначала придется удалить все намеки на старую версию Docker.

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Рекомендуемый подход: настроить репозитории Docker и устанавливать из них него простоты установки и обновления. Для этого установим пакет yum-utils, который содержит утилиту yum-config-manager и настроим стабильный (stable) репозиторий. Есть еще nightly репозиторий, но думаю стабильного нам хватит:)

yum install -y yum-utils
 
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

Теперь установка самого Docker:

yum install docker-ce docker-ce-cli containerd.io

Запускаем Докер и тестовую программу, чтобы убедиться что он работает:

systemctl start docker
docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:10d7d58d5ebd2a652f4d93fdd86da8f265f5318c6a73cc5b6a9798ff6d2b2e67
Status: Downloaded newer image for hello-world:latest
 
Hello from Docker!

Последний штрих, проверяем загружается ли при перезагрузке Linux наш Докер автоматически, используем для этого systemctl:

# systemctl is-enabled docker
disabled

Конечно же нет, добавим в автозагрузку Docker:

# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service
to /usr/lib/systemd/system/docker.service.

Всё! Далее устанавливаем docker-compose и подключаемся к Docker Hub.

Это опциональный шаг. Чтобы запускать docker не из-под суперпользователя (root), нужно предоставить права вашему пользователю. Пошагово выполним для любого Linux:

  • Ели группы docker не существует, создадим её:
sudo groupadd docker
  • Добавляем нашего пользователя в группу docker
sudo usermod -aG docker $USER
  • Затем выходим из терминала и заходим обратно. После этого нужно проверить, что всё сработало:
id -nG
docker ps
docker images

Команды докера должны быть без ошибок. Всё!

Все что нужно знать об установки Docker в Windows 10 Pro это то, что у вас перестанут работать программы, такие как VirtualBox, эмуляторы Android. А там уже смотрите сами, нужно ли вам такое счастье или нет.

К Windows 11 тоже требования интересные. Если вам требуется только обучение Докеру установите виртуальную машину например при помощи VirtualBox или купить дешевый VPS c KVM виртуализацией.

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

PQ VPS сервера в 28+ странах.