Если вы хотите использовать веб-сервер Apache для размещения сайта или разработки, то есть два пути. Первый – запустит его непосредственно на сервере. Второй – в контейнере.
Сегодня мы расскажем, как это сделать с помощью Docker. Это удобно, быстро и позволяет легко управлять сервером без сложных настроек.
Важно! Установка Docker — это отдельная тема. Если вы еще не устанавливали Docker на свой компьютер/сервер, то рекомендуем ознакомиться со статьями для Windows и Linux, где подробно описан процесс установки.
Что такое Docker и зачем использовать его для Apache?
Docker — это платформа, позволяющая запускать программы (в данном случае — веб-сервер Apache) в изолированных контейнерах. Контейнер — это легкий и переносимый «коробка», которая содержит все необходимые компоненты для работы программы.
Тысячи разработчиков используют Docker, чтобы:
- Быстро запускать сервесы.
- Легко переносить проекты между компьютерами.
- Обеспечивать одинаковое окружение для разработки и продакшена.
Запуск Apache в Docker — это удобно, потому что не нужно настраивать сервер «на чистом» компьютере. Всё делается быстро и прозрачно.
Шаги запуска Apache в Docker
Ниже представлена схема процесса запуска Apache в контейнере:
- Выбор образа (image) — это готовое «шаблон» для контейнера.
- Создание контейнера — запуск образа и настройка его работы.
- Управление контейнером — базовые команды работы с контейнером.
Запуск Apache в Docker контейнере.
Давайте подробно рассмотрим каждый шаг.
1. Выбор образа для Apache
Для запуска Apache в Docker существует официальный образ — это httpd. Он поддерживается командой Docker и постоянно обновляется. Если вы не знаете, как правильно выбрать подходящий образ, прочтите нашу статью об этом.
Самый простой способ — скачать этот образ и запустить его. Для этого понадобится команда docker pull, которая скачает образ на ваш компьютер:
[root@waky ~]# docker pull httpd
Using default tag: latest
latest: Pulling from library/httpd
0e4bc2bd6656: Already exists
4742a9e996d1: Pull complete
4f4fb700ef54: Pull complete
87a14f083967: Pull complete
9cd0271fa751: Pull complete
5b4d5959fc75: Pull complete
Digest: sha256:f9b88f3f093d925525ec272bbe28e72967ffe1a40da813fe84df9fcb2fad3f30
Status: Downloaded newer image for httpd:latest
docker.io/library/httpd:latest
[root@waky ~]#
Эта команда ищет и загружает последний официальный образ Apache.
2. Создание и запуск контейнера с Apache
После того, как образ скачан, запустим контейнер:
[root@waky my_site]# docker run -d --name my-apache -p 80:80 httpd
afe72ed4d1a3b826f9c83ed51223782cf2589cccf0ea0edff6ba5b58ae535a53
[root@waky my_site]#
Пояснение к команде:
-d — запуск контейнера в фоновом режиме
–name my-apache — задаем имя контейнера (можно выбрать любое)
-p 80:80 — перенаправление порта: порт 80 на вашем сервере пересылается на порт 80 внутри контейнера, где работает Apache (порт на сервере должен быть свободен)
httpd — название образа из которого создается контейнер
Теперь ваш Apache работает внутри контейнера и доступен в браузере по адресу http://ip_сервера или если вы запустили его локально http://localhost

3. Управление контейнером
Если нужно остановить или перезапустить сервер, используйте команды:
Остановить:
[root@waky my_site]# docker stop my-apache
my-apache
[root@waky my_site]#
Запустить снова:
[root@waky my_site]# docker start my-apache
my-apache
[root@waky my_site]#
Удалить контейнер:
[root@waky my_site]# docker rm -f my-apache
my-apache
[root@waky my_site]#
Подробнее о работе с контейнерами можно прочитать в соответствующей статье.
Заключение
Запуск Apache в Docker — это простой и быстрый способ создать веб-сервер, без сложных настроек.
Плюсы использования Docker:
- Легкое управление и переносимость.
- Изоляция от остальной системы.
- Быстрое развёртывание новых окружений.