Docker установка · 9 min read · Oct 05, 2025
Docker CE на Alma Linux 9: Быстрое и простое руководство по установке

Docker — это программное обеспечение с открытым исходным кодом, которое предоставляет виртуализацию на уровне ОС для разработки, доставки и запуска приложений. В Docker приложения поставляются в виде стандартных единиц, называемых контейнерами. Каждый контейнер изолирован от других, включая библиотеки и конфигурационные файлы, но каждый из них может взаимодействовать через четко определенные сетевые каналы.
На данный момент Docker стал стандартом для разработки программного обеспечения и DevOps. Его используют миллионы разработчиков для создания, обмена и запуска любых приложений каждый день на работе. Он используется на всех этапах разработки приложений: от самой разработки, тестирования и до производства. С Docker приложение становится более гибким и портативным. Приложения могут запускаться где угодно на разных операционных системах простым способом, но само приложение остается неизменным, от библиотек до конфигурационных файлов.
В этом руководстве вы узнаете, как установить Docker CE (Community Edition) на Alma Linux 9. Это руководство также охватывает основные аспекты использования Docker для управления образами, контейнерами и томами, работы с журналами контейнеров и доступа к контейнерам через Docker Host.
Предварительные требования
Это руководство требует следующее:
- Сервер Linux, работающий на Alma Linux 9 — в этом примере используется сервер Alma Linux с именем хоста ‘alma-linux‘ и IP-адресом ‘192.168.5‘.
- Непользователь с правами администратора sudo/root.
Добавление репозитория Docker CE
Docker — это инструмент оркестрации для разработки, доставки и запуска приложений через контейнеры. Он ускоряет процесс разработки, поскольку Docker позволяет создавать образы приложений, не полагаясь на хост-машину. Это делает распространение приложений для разработчиков более быстрым и простым.
Docker — это многоплатформенная оркестрация контейнеров, его можно установить на настольный компьютер и сервер. Если вы используете настольный компьютер, вы можете установить Docker Desktop, но если вы используете сервер, вы можете установить Docker Engine через официальный репозиторий Docker.
В первом разделе вы настроите репозиторий Docker CE на своем сервере Alma Linux.
Запустите следующую команду для установки пакета ‘dnf-utils‘.
sudo dnf install dnf-utilsВведите y, когда будет предложено, затем нажмите ENTER, чтобы продолжить.

Теперь добавьте репозиторий Docker CE, используя следующую команду dnf.
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoПосле добавления репозитория Docker CE проверьте его с помощью команды ниже. Это покажет вам список доступных репозиториев на вашем Alma Linux.
sudo dnf repolistПри успешном выполнении вы должны получить вывод, похожий на следующий:

Перейдите к следующему разделу для установки Docker CE.
Установка Docker CE
В этом разделе вы установите Docker CE на сервер Alma Linux. К концу этого раздела у вас будет работающий Docker на вашей системе.
Установите Docker CE, используя следующую команду dnf. С помощью этой команды вы установите Docker с дополнительным пакетом ‘docker-buildx-plugin‘, который является плагином сборки Docker, ускоряющим создание образов, и плагином ‘docker-compose-plugin‘, который упрощает разработку приложений.
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginКогда будет предложено, введите y для подтверждения, затем нажмите ENTER, чтобы продолжить.

Также вам будет предложено подтвердить GPG-ключ для репозитория Docker. Введите для подтверждения, затем нажмите ENTER.

После установки Docker выполните следующую команду systemctl, чтобы запустить и включить службу ‘docker’.
sudo systemctl start docker
sudo systemctl enable dockerПосле выполнения команды Docker будет запущен и включен, что означает, что Docker будет автоматически запускаться при старте системы.
Запустите команду ниже, чтобы проверить статус службы Docker и убедиться, что Docker работает.
sudo systemctl status dockerКогда Docker работает, вы должны ожидать вывод, похожий на следующий:

Разрешение пользователю без прав администратора запускать контейнер Docker
По умолчанию только пользователь root может запускать контейнер через Docker. Этот раздел покажет вам, как разрешить пользователям без прав администратора запускать контейнеры Docker, добавив пользователя в существующую группу ‘docker‘.
Запустите следующую команду, чтобы добавить вашего пользователя в группу ‘docker‘. В этом примере используется пользователь с именем ‘testuser‘.
sudo usermod -aG docker testuserТеперь войдите как ваш пользователь, используя следующую команду. Затем выполните команду ‘docker run‘ ниже, чтобы запустить контейнер ‘hello-world‘.
su - testuser
docker run hello-worldПри успешном выполнении вы должны получить вывод, похожий на следующий:

Далее выполните следующую команду docker, чтобы проверить работающие контейнеры на вашей системе.
docker ps
docker ps -aПервая команда ‘docker ps‘ не даст вывода, потому что она покажет только работающий контейнер, а контейнер ‘hello-world‘ завершил работу после вывода сообщения ‘Hello from Docker‘. Но для второй команды с ‘docker ps -a‘ вы получите вывод как для работающих, так и для завершенных контейнеров.
Основное использование Docker
Теперь вы успешно достигли стадии, когда Docker работает, и также разрешили вашему пользователю без прав администратора выполнять контейнер Docker. Теперь перейдем к основному использованию Docker.
Следующие шаги покажут вам несколько сценариев использования Docker. Вы узнаете, как управлять образами Docker, работать с контейнерами и томами, а также как получить доступ к контейнеру с хост-машины.
С учетом всего на месте, давайте начнем.
Работа с образами
На первом этапе вы будете работать с образом Docker. Вы загрузите образ и проверите список доступных образов на вашем локальном компьютере.
Чтобы загрузить образ, посетите DockerHub и введите имя образа Docker, который вы хотите загрузить. В этом примере вы загрузите образ ‘nginx‘ с тегами ‘alpine‘. Если вы нажмете на вкладку TAGS, вы должны увидеть список доступных версий образа Nginx.

Теперь выполните команду ‘docker pull‘ ниже, чтобы загрузить образы Docker. В этом примере вы загрузите образ ‘nginx:alpine‘, который будет ссылаться на последнюю версию образа Nginx Alpine.
docker pull nginx:alpine
После загрузки выполните следующую команду, чтобы перечислить доступные образы на вашем хосте. Если вы следовали этим шагам с самого начала, вы должны увидеть два образа Docker: ‘hello-world‘ с тегом ‘latest‘ и ‘nginx‘ с тегом ‘alpine‘.
docker images
Работа с контейнером
С загруженным образом Docker вы теперь можете запустить контейнер. Этот раздел покажет вам, как создать и запустить контейнер через Docker.
Чтобы запустить контейнер, выполните следующую команду ‘docker run‘ ниже.
docker run -it -d -p 8080:80 --name web nginx:alpineЭта команда создаст новый контейнер с именем ‘web‘, который основан на образе Docker ‘nginx:alpine‘. Новый контейнер ‘web‘ откроет порт ‘8080‘ на хосте Docker, который равен порту 80 на контейнере. Дополнительный параметр ‘-it‘ используется для запуска контейнера в интерактивном режиме, а параметр ‘-d‘ запустит контейнер в фоновом режиме.
После выполнения команды вы должны увидеть случайное число и строку, которые являются ‘CONTAINER ID‘.
Теперь выполните команду ниже, чтобы проверить список работающих контейнеров.
docker psВы должны ожидать вывод, похожий на следующий — контейнер ‘web‘ со статусом ‘Up‘ и открытым портом 8080 на хосте Docker.
Далее выполните команду curl ниже, чтобы получить доступ к контейнеру ‘web‘, который открыт на порту 8080. При успешном выполнении вы должны увидеть исходный код HTML по умолчанию для контейнера ‘web‘.
curl http://192.168.5.43:8080/
Наконец, если вы хотите получить доступ к вашему контейнеру из внешней сети, вам необходимо открыть порт 8080 на вашем сервере Alma Linux с помощью команды ‘firewall-cmd‘ ниже.
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reloadТеперь откройте веб-браузер на вашем локальном компьютере и посетите IP-адрес сервера, за которым следует порт 8080 (т.е.: http://192.168.5.43:8080/). Вы должны ожидать вывод страницы index.html для контейнера ‘web‘.

Логирование контейнера
Логирование важно в Docker, особенно если вы разрабатываете образы для своих приложений. Логирование помогает вам отлаживать разработку вашего приложения.
Выполните следующую команду, чтобы получить полные журналы контейнера ‘web‘.
docker logs webНиже приведен аналогичный вывод, который вы получите от контейнера ‘web‘.

Вы также можете ограничить вывод журналов с помощью параметра ‘tail‘, как показано ниже. Эта команда покажет вам последние 5 строк журналов контейнера ‘web‘.
docker logs --tail 5 web
Управление контейнером
В этом разделе вы узнаете, как управлять контейнером. Вы узнаете, как запускать, останавливать и удалять контейнер.
Чтобы остановить контейнер ‘web‘, выполните команду ‘docker stop‘ ниже.
docker stop webТеперь проверьте контейнер с помощью следующей команды. Вы должны получить вывод контейнера ‘web‘ со статусом ‘Exited‘.
docker ps
docker ps -aЧтобы снова запустить контейнер ‘web‘, выполните команду ‘docker start‘ ниже. Затем проверьте список работающих контейнеров с помощью команды ‘docker ps‘.
docker start web
docker psВы должны получить вывод, что контейнер ‘web‘ работает со статусом ‘Up‘.
Наконец, выполните следующую команду, чтобы удалить контейнер ‘web‘. Перед удалением контейнера вы должны сначала остановить контейнер.
docker stop web
docker rm webЕсли вы проверите список контейнеров с помощью команды ‘docker ps‘, вы должны ожидать вывод, что контейнер ‘web‘ удален.
docker ps -a
Работа с томами
Том — это место, где вы прикрепляете свой локальный том/каталог к контейнеру. Вы можете считать том как ‘общую папку‘ в виртуальной машине. В этом разделе вы создадите новый контейнер с пользовательским томом, который позволяет прикрепить локальный каталог к контейнеру.
Сначала создайте новый проектный каталог ‘~/project/data‘ и переместите ваш рабочий каталог в него.
mkdir -p ~/project/data; cd ~/projectТеперь выполните следующую команду, чтобы создать новый файл ‘data/index.html‘. Этот файл заменит страницу index.html по умолчанию нового контейнера ‘web‘.
cat > data/index.html << EOF
Добро пожаловать в Docker Nginx
Привет из контейнера Nginx
EOF
Теперь выполните следующую команду, чтобы создать и запустить новый контейнер ‘web‘ с пользовательским томом через параметр ‘-v‘. В этом примере вы смонтируете локальный каталог ‘~/project/data‘ в контейнер ‘web‘ с целевым каталогом ‘/usr/share/nginx/html‘. Дополнительный параметр ‘:ro‘ сделает каталог ‘/usr/share/nginx/html‘ на контейнере только для чтения, в то время как на хост-машине чтение и запись все еще разрешены.
docker run -it -d -p 8080:80 --name web -v ~/project/data:/usr/share/nginx/html:ro nginx:alpineДалее выполните следующую команду, чтобы убедиться, что новый контейнер ‘web‘ работает.
docker psПри успешном выполнении вы должны ожидать вывод, похожий на следующий — контейнер ‘web‘ работает и открывает порт 8080 на хост-машине.
Теперь выполните команду curl ниже, чтобы получить доступ к контейнеру ‘web‘. Когда все пройдет гладко, вы должны увидеть исходный код пользовательской страницы index.html, которую вы создали.
curl http://192.168.5.43:8080/
Ниже приведена страница пользовательского index.html при доступе из веб-браузера (т.е.: http://192.168.5.43:8080/).
Доступ к контейнеру с хоста
Чтобы получить доступ и войти в контейнер, вы можете использовать команду ‘docker exec‘, которая позволяет вам выполнять команду, доступную в контейнере.
Выполните следующую команду, чтобы войти в контейнер ‘web‘. Это выполнит команду ‘/bin/sh‘ в контейнере ‘web‘, и параметр ‘-it‘ перенаправит вас прямо в контейнер.
docker exec -it web /bin/shПосле входа в контейнер выполните следующую команду, чтобы проверить детализированное имя хоста вашего контейнера. Имя хоста контейнера должно совпадать с ‘CONTAINER ID‘.
id
hostname
Далее выполните следующую команду, чтобы проверить IP-адрес и шлюз по умолчанию контейнера.
ip a
route -nВы должны ожидать вывод, похожий на следующий:

Поскольку контейнер ‘web‘ выполняет процесс Nginx, вы можете получить доступ к вашему контейнеру через локальный IP-адрес с помощью команды curl ниже. В этом примере IP-адрес контейнера — ‘172.17.0.2‘. Вы должны получить ту же страницу index.html.
curl 172.17.0.2
Заключение
Теперь, когда вы завершили это руководство, вы должны знать, как установить Docker на Alma Linux 9. Вы также завершили сценарий основного использования Docker для управления образами и контейнерами, ведения журналов контейнеров для отладки, работы с томами Docker и основного использования ‘docker exec‘ для входа в контейнер.
Get new posts in your inbox
No spam. Unsubscribe anytime.