Сборка Apache с помощью Dockerfile

Apache — это веб-сервер с открытым исходным кодом, предназначенный для размещения веб-приложений в Интернете и на локальных хостах.

Для работы Apache на рабочей станции требуется множество конфигураций.

Чтобы сократить вам работу с подобными настройками, Docker представил Dockerfile, который помогает просто и быстро создавать конфигурации.

В этом мануале мы расскажем, как создать такой файл для автоматической настройки сервера Apache.

Итак, чтобы настроить базовый веб-сервер Apache через Dockerfile, нужно выполнить следующие шаги:

  1. Создать каталог для всех файлов, связанных с Apache.
  2. Создать Dockerfile
  3. Собрать образ по Dockerfile и для удобства поставить метку.
  4. Запустить сервер Apache как контейнер.

1: Создание каталога для файлов Apache

Сначала мы создаем специальный каталог для всех файлов, связанных с Apache. Для этого используем команду mkdir. 

mkdir apache_folder

2: Сборка Dockerfile

После создания каталога нужно создать в нем Dockerfile. Это можно сделать с помощью редактора vi. 

vi Dockerfile

Вышеприведенная команда откроет редактор. Вставьте в появившийся файл следующий код: 

FROM ubuntu 
RUN apt update 
RUN apt install –y apache2 
RUN apt install –y apache2-utils 
RUN apt clean 
EXPOSE 80
CMD [“apache2ctl”, “-D”, “FOREGROUND”]

Чтобы закрыть редактор, нажмите ESC, а затем :<wq! и Enter.

3: Сборка образа Docker

Теперь давайте соберем Dockerfile с помощью команды docker build. В команде мы помечаем создаваемый образ как 1.0 и присваиваем ему индивидуальное имя (например, apache_image).

docker build -t apache_image:1.0 .

После создания образа мы должны проверить его наличие с помощью команды docker images.

Команда docker images выводит список всех образов, созданных либо извлеченных из любого публичного/частного реестра.

docker images

REPOSITORY                                                      TAG                 IMAGE ID            CREATED             SIZE
apache_image                                                     1.0                 a738dbef66ef        15 seconds ago      133MB

4: Запуск образа Docker как контейнера

После сборки образа вы можете локально запустить образ в качестве контейнера: 

  1. Мы запускаем контейнер в автономном режиме, чтобы он постоянно работал в фоново. Для этого мы включаем флаг -d в команду docker.
  2. Для размещения сервера Apache применяется порт 80 (HTTP). Используйте -p 80:80, чтобы сервер работал на локальном хосте.

Таким образом, для запуска образа как контейнера команда в качестве входных данных принимает имя образа и его метку, а также ряд флагов.

docker run --name myapache -d -p 80:80 apache_image:1.0

Вы получите: 

docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                NAMES
443848c30b74        apache_image:1.0     "/docker-entrypoint.…"   7 seconds ago       Up 6 seconds        0.0.0.0:80->80/tcp   myapache

5: Тестирование Apache

Чтобы проверить доступность сервера Apache в системе, зайдите в любой локальный браузер и введите localhost:

Заключение

На этом настройка окончена. Если у вас возникнут какие-либо вопросы, оставляйте их в комментариях под этим мануалом.

Читайте также: Автоматическая сборка образов Docker с помощью Dockerfile

Tags: , ,

Добавить комментарий