Установите 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, ваша система должна соответствовать следующим минимальным требованиям.
- 64-разрядная операционная система Linux или Windows.
- Если вы используете Linux, версия ядра должна быть 3.10 или выше.
- Учетная запись пользователя с привилегиями
sudo
. - В BIOS вашей системы включена поддержка VT (технологии виртуализации). [Читайте: Как узнать, поддерживает ли процессор технологию виртуализации (VT)]
- Ваша система должна быть подключена к Интернету.
В 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»