Docker – платформа для создания, доставки и управления контейнерами, которые изолируют приложения и их зависимости в стандартизированной среде. Контейнеры упрощают переносимость, делают развёртывание быстрым и устраняют проблемы несовместимости среды. Обеспечивая стабильность работы приложений независимо от операционной системы и окружения, Docker стал стандартом для масштабируемых и гибких решений в разработке. В статье разберём, как установить Docker на виртуальный выделенный сервер, работающий под управлением операционной системы CentOS Stream 9.
Как установить Docker на CentOS Stream 9
Перед тем, как начать установку нового программного обеспечения, обновите списки пакетов в системе:
$ sudo dnf update
Поскольку Docker не входит в официальные репозитории CentOS, вам потребуется использовать репозиторий Docker. Исходя из этого, добавьте официальный репозиторий Docker в систему:
$ sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Затем установите пакеты, необходимые для функционирования Docker:
$ sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Чтобы проверить корректность установки, выведите на экран версию Docker:
$ docker --version

По окончании установки запустите службу Docker:
$ sudo systemctl start docker
Проверьте, что Docker работает:
$ sudo systemctl status docker

Затем настройте Docker для автоматического запуска:
$ sudo systemctl enable docker
Чтобы использовать Docker без необходимости вводить sudo
, добавьте своего пользователя в группу docker
:
$ sudo usermod -aG docker $USER
Для вступление данной настройки в силу следует перелогиниться в системе.
Как использовать Docker
Теперь Docker готов к использованию. Для запуска нового контейнера необходимо наличие в системе образа, на основе которого он будет создан. Загрузка образа осуществляется при помощи команды docker pull
. При выполнении данной команды Docker обращается к официальному Docker-репозиторию, откуда загружает в вашу систему соответствующий образ. По окончании загрузки образ становится доступен и готов для запуска контейнера.
Например, при помощи следующей команды Docker загрузит на вашу виртуальную машину предварительно настроенный образ веб-сервера Nginx:
$ docker pull nginx

Увидеть загруженный образ можно при помощи команды:
$ docker images
В нашем случае команда вывела на экран список сохранённых образов, состоящий пока лишь из одной записи. Она соответствует только что загруженному образу nginx
.

Чтобы начать использовать веб-сервер, запустите новый контейнер с образом Nginx. Для этого выполните команду docker run
:
$ docker run -d -p 8080:80 --name your-nginx nginx
В данном примере команда запускается со следующими параметрами:
-d
– запускает контейнер в фоновом режиме, или detached mode;-p 8080:80
– означает, что веб-сервер Nginx, работающий внутри контейнера на порту80
, будет доступен через порт хоста8080
;--name your-nginx
– параметр--name
присваивает контейнеру имяyour-nginx
, которое можно будет использовать для управления контейнером в дальнейшем;nginx
– образ, используемый для создания контейнера; если указанный образ отсутствует локально, Docker автоматически загрузит его с Docker Hub.
Убедиться в том, что контейнер запущен, можно при помощи команды:
$ docker ps

Также есть возможность просмотреть логи контейнера командой:
$ docker logs your-nginx
Наконец, вы можете подключиться к тестовой странице Nginx, открыв браузер и перейдя по адресу http://X.X.X.X:80808
, где X.X.X.X
– IP-адрес вашего виртуального сервера.

Если нужно остановить контейнер, используйте команду:
$ docker stop your-nginx
Чтобы снова запустить его, выполните команду:
$ docker start your-nginx
Для удаления контейнера служит команда:
$ docker rm your-nginx
Настройка контейнера Nginx для размещения своей страницы
Заменить тестовую страницу Nginx на свою можно в несколько несложных шагов. Сначала создайте каталог, в котором будет размещён файл страницы сайта:
$ mkdir -p ~/your-site
В этой директории создайте файл, например, index.html
:
$ vi ~/your-site/index.html
Затем добавьте в файл HTML-код страницы, например, такой:
<html>
<head>
<title>
Nginx Site on Docker
</title>
</head>
<body>
<h1>
Here is Your Nginx Site Created with Docker.
</h1>
</body>
</html>
Закройте файл с сохранением внесённых изменений. После чего запустите новый контейнер your-new-nginx
из образа nginx
:
$ docker run -d -p 8080:80 --name your-new-nginx -v ~/your-site:/usr/share/nginx/html nginx
Данная команда использует параметр -v ~/your-site:/usr/share/nginx/html
для подключения директории ~/your-site
на хосте к директории /usr/share/nginx/html
в контейнере your-new-nginx
. Как результат, Nginx будет использовать файлы из ~/your-site
в качестве содержимого, размещённого на нём веб-сайта.
В итоге вы можете открыть браузер, перейти по адресу сайта и убедиться в работоспособности веб-страницы, которая работает на Nginx, установленном при помощи Docker.
