Apache в Docker контейнере: как запустить.

Если вы хотите использовать веб-сервер 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:

  • Легкое управление и переносимость.
  • Изоляция от остальной системы.
  • Быстрое развёртывание новых окружений.