Поиск по сайту:

Установите Docker в AlmaLinux, CentOS, Rocky Linux

Пошаговое руководство по установке Docker Engine с помощью Docker Compose в AlmaLinux, CentOS, Rocky Linux

На днях мы обсуждали, что такое Docker Engine и как установить Docker Engine и Docker Compose в Ubuntu. Сегодня мы увидим, как установить Docker Engine с помощью Docker Compose в системах на базе RHEL, таких как AlmaLinux, CentOS и Rocky Linux.

Это руководство было официально протестировано на CentOS 8, AlmaLinux 8 и Rocky Linux 8. Для демонстрационных целей я буду использовать контейнер AlmaLinux, работающий на Proxmox. Все команды, приведенные ниже, одинаковы для большинства систем на базе RHEL.

Требования к докеру

Чтобы установить и настроить Docker, ваша система должна соответствовать следующим минимальным требованиям.

  1. 64-разрядная операционная система Linux или Windows.
  2. Если вы используете Linux, версия ядра должна быть 3.10 или выше.
  3. Учетная запись пользователя с привилегиями sudo.
  4. В BIOS вашей системы включена поддержка VT (технологии виртуализации). [Читайте: Как узнать, поддерживает ли процессор технологию виртуализации (VT)]
  5. Ваша система должна быть подключена к Интернету.

В Linux, чтобы проверить детали ядра и архитектуры, выполните следующую команду из терминала:

uname -a

Пример вывода:

Linux Almalinux8CT 5.15.35-3-pve #1 SMP PVE 5.15.35-6 (Fri, 17 Jun 2022 13:42:35 +0200) x86_64 x86_64 x86_64 GNU/Linux

Как видно из приведенного выше вывода, версия ядра моей системы AlmaLinux — 5.15.35-3-pve , а архитектура моей системы — 64-разрядная (x86_64 x86_64 x86_64 GNU /Linux). Проверьте жирные буквы в приведенном выше результате.

Внимание: Здесь я использую контейнер AlmaLinux 8 в Proxmox. Вот почему вы видите слово «pve» в версии ядра в приведенном выше выводе. Если вы используете физическую (или виртуальную) машину AlmaLinux, в качестве версии ядра вы увидите 5.15.35-3-generic.

Ну версия ядра выше минимального требования, а арка 64 битная. Итак, мы можем без проблем установить и использовать Docker.

Установите Docker в CentOS, AlmaLinux, Rocky Linux

Убедитесь, что вы используете обновленную ОС.

1. Обновите свою систему

Выполните следующие команды одну за другой от имени пользователя sudo или пользователя root, чтобы обновить систему CentOS/AlmaLinux/Rocky Linux.

sudo dnf --refresh update
sudo dnf upgrade

2. Добавьте репозиторий Docker.

Установите пакет yum-utils, который предоставляет утилиту yum-config-manager для настройки репозиториев.

sudo dnf install yum-utils

Затем добавьте репозиторий Docker с помощью yum-config-manger, как показано ниже:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

3. Установите Докер

Установите Docker Engine в CentOS, AlmaLinux и Rocky Linux с помощью команды:

sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin

После загрузки пакетов Docker вам будет предложено импортировать ключ Docker GPG. Убедитесь, что отпечаток соответствует 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, и если да, примите его.

Importing GPG key 0x621E9F35:
 Userid     : "Docker Release (CE rpm) <docker@docker.com>"
 Fingerprint: 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
 From       : https://download.docker.com/linux/centos/gpg
Is this ok [y/N]: y

Установите Docker в CentOS, AlmaLinux, Rocky Linux

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

sudo systemctl enable docker
sudo systemctl start docker

Проверьте, запущена ли служба Docker, с помощью команды:

sudo systemctl status docker

Пример вывода:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Drop-In: /run/systemd/system/docker.service.d
           └─zzz-lxc-service.conf
   Active: active (running) since Tue 2022-06-28 08:17:02 UTC; 8s ago
     Docs: https://docs.docker.com
 Main PID: 2748 (dockerd)
    Tasks: 8
   Memory: 28.5M
   CGroup: /system.slice/docker.service
           └─2748 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.167563866Z" level=info msg="ClientConn switching balancer to \"pick_first\""
 module=grpc
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.169600819Z" level=error msg="Failed to built-in GetDriver graph btrfs /var/l
ib/docker"
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.203579593Z" level=info msg="Loading containers: start."
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.350067769Z" level=info msg="Default bridge (docker0) is assigned with an IP 
address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address"
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.410223534Z" level=info msg="Loading containers: done."
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415653550Z" level=warning msg="Not using native diff for overlay2, this may 
cause degraded performance for building images: running in a user namespace" storage-driver=overlay2
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415810806Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=ove
rlay2 version=20.10.17
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.415902359Z" level=info msg="Daemon has completed initialization"
Jun 28 08:17:02 Almalinux8CT systemd[1]: Started Docker Application Container Engine.
Jun 28 08:17:02 Almalinux8CT dockerd[2748]: time="2022-06-28T08:17:02.447662377Z" level=info msg="API listen on /var/run/docker.sock"

Как вы видите в приведенном выше выводе, служба Docker запущена и работает!

4. Проверьте версию Docker

Установленную версию Docker можно найти с помощью команды:

sudo docker version

Пример вывода:

Client: Docker Engine - Community
 Version:           20.10.17
 API version:       1.41
 Go version:        go1.17.11
 Git commit:        100c701
 Built:             Mon Jun  6 23:03:11 2022
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.17
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.17.11
  Git commit:       a89b842
  Built:            Mon Jun  6 23:01:29 2022
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.6.6
  GitCommit:        10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
 runc:
  Version:          1.1.2
  GitCommit:        v1.1.2-0-ga916309
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

Проверьте версию Docker в AlmaLinux

5. Тестирование Докера

Давайте продолжим и проверим, работает ли Docker или нет. Мы можем запустить образ docker hello-world, чтобы проверить, правильно ли установлен и работает Docker.

Для этого запустите:

sudo docker run hello-world

Приведенная выше команда загрузит тестовый образ Docker и выполнит пример программы hello_world внутри контейнера.

Если вы видите результат, подобный приведенному ниже, поздравляем! Docker отлично работает в вашей системе CentOS/AlmaLinux/Rocky Linux.

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

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

Запустите Docker-контейнер Hello World в AlmaLinux

Докер готов к использованию!

Я установил Docker, и что дальше? Прочтите следующую статью этой серии, чтобы изучить основы Docker.

  • Начало работы с Docker

6. Обновите Докер

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

sudo dnf --refresh update
sudo dnf upgrade

Установите Docker Compose

Docker Compose — это инструмент, который можно использовать для определения и запуска многоконтейнерных приложений Docker. Используя Compose, вы используете файл Compose для настройки служб вашего приложения. Затем с помощью одной команды вы сможете создать и запустить все службы из вашей конфигурации.

Мы можем установить Docker Compose любым из следующих методов.

Способ 1 — установка Docker Compose с использованием двоичного файла

Загрузите последнюю версию Docker Compose здесь.

На момент написания этой статьи последней версией была 2.6.1.

Выполните следующую команду, чтобы загрузить последнюю стабильную версию файла компоновки Docker:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Если доступна новая версия, просто замените номер v2.6.1 в приведенной выше команде на номер новой версии. Не забудьте поставить "v" перед номером версии.

Наконец, примените разрешения на исполняемый файл к двоичному файлу с помощью команды:

sudo chmod +x /usr/local/bin/docker-compose

Чтобы проверить установленную версию Docker Composer, запустите:

docker-compose version
Docker Compose version v2.6.1

Способ 2. Установите Docker Compose с помощью PiP

Альтернативно мы можем установить Docker Compose с помощью PIP. Pip — это менеджер пакетов Python, используемый для установки приложений, написанных на языке программирования Python.

Обратитесь к следующему руководству, чтобы установить Pip в вашей системе.

  • Как управлять пакетами Python с помощью Pip

После установки pip выполните следующую команду, чтобы установить docker Compose. Следующая команда одинакова для всех дистрибутивов Linux!

pip install docker-compose

После установки Docker Compose вы можете проверить версию командой:

docker-compose --version

Вы увидите результат, подобный приведенному ниже.

docker-compose version 2.6.1, build 8a1c60f6

Поздравляем! Мы успешно установили Docker Community Edition и Docker Compose.

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

  • Начало работы с Docker Compose в Linux

Обновить Docker Compose

Чтобы обновить Docker Compose, просто загрузите новый файл пакета и повторите инструкции по установке, как показано в методе 1. Если вы установили Compose с помощью Pip, вы можете обновить Docker Compose с помощью следующей команды:

pip install --upgrade docker-compose

Удалить Docker Engine

Чтобы удалить Docker Engine из вашей системы CentOS, AlmaLinux и Rock Linux, запустите:

sudo dnf remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

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

Вам следует вручную удалить все образы, контейнеры и тома, используя следующие команды:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

Удалить Docker Compose

Если вы установили Compose с использованием двоичного файла, просто удалите его из пути /usr/local/bin/.

sudo rm /usr/local/bin/docker-compose

Если вы установили Compose с помощью PiP, выполните следующую команду, чтобы удалить Docker Compose:

pip uninstall docker-compose

Заключение

Мы знаем, как установить Docker Engine и Docker Compose в CentOS, AlmaLinux и Rocky Linux. Мы также узнали, как протестировать движок Docker, запустив базовый образ docker hello-world. Наконец, мы увидели, как удалить Docker Engine и Docker Compose, когда они больше не нужны.

Рекомендуется прочитать:

  • Настройка Docker и Docker Compose с помощью DockSTARTer
  • Как автоматически обновлять работающие контейнеры Docker
  • ctop — инструмент мониторинга командной строки для контейнеров Linux
  • Portainer – самый простой способ управления Docker
  • PiCluster — простое веб-приложение для управления Docker
  • Dockly — управление контейнерами Docker из терминала

Ресурс:

  • Веб-сайт Docker

Бесплатная электронная книга Docker:

  • Бесплатная электронная книга: «Пособия по контейнеризации Docker»

Статьи по данной тематике