Sign inSign up

kafnevod/altlinux.p8-apache2

By kafnevod

Updated about 9 years ago

Image
0

1.3K

kafnevod/altlinux.p8-apache2 repository overview

Запуск контейнера
# docker run -d -p 80:80 --name=apache2 kafnevod/altlinux.p8-apache2

Контейнер запускается в режиме демона (-d) с именем (--name) apache2 и с привязкой порта (-p) 80 контейнера к порту 80 HOST-системы.

Для проверки работоспособности контейнера запустите команду:

# docker ps -f name=apache2

Команда отобразит строку типа:

CONTAINER_ID IMAGE                          COMMAND CREATED     STATUS              PORTS                NAMES
688acc21b881 kafnevod/altlinux.p8-apache2   httpd2  5 seconds   Up 4 seconds        0.0.0.0:80->80/tcp   apache2

Столбец IMAGE содержит имя образа контейнера. Столбец NAMES - имя контейнера. Столбец CONTAINER ID - идентификатор (UID) контейнера. Столбец PORTS список привязанны портов контейнера с портам HOST-системы. Столбец STATUS - статус контейнера (start, up, restart, ...). Столбец CREATED - время с момента запуска контейнера. Столбец COMMAND - имя и параметры запуска корневого процесса контейнера.

Используя параметр exec команды docker Вы можете запустить собственный процесс в рамках работающего контейнера - например, команду pstree (дерево процессов):

# docker exec apache2 pstree

Команда выведет текущее дерево процессов контейнера:


httpd2---2*[httpd2---26*[{httpd2}]]

Вы также можете запустить bash-интепретатор

# docker exec -it apache2 bash

и в интерактивном режиме поработать в рамках контейнера. Например динамически просматривать лог-файлы apache2-сервера командой:

# tail -f /var/log/httpd2/*log
Проверка работы контейнера

Для проверки работы контейнера наберите в строке браузера URL: http://localhost/. В окне браузера отобразится текст: It works!

Здесь и далее рассматривается случай, когда контейнер запускается на компьютере пользователя. Если Вы запускаете контейнер на удаленном сервере замените имя сервера в URL с localhost на IP-адрес сервера или имя домена под которым рабоает сервер. Для тестирования Вы можете указать один или несколько доменов сервера в файле /etc/hosts.

Если Ваш браузер работает через proxy-сервер, опишите тестируемые адреса и домены сервера в поле "не использовать proxy-сервер для" окна настройки proxy-сервера браузера.

Если Вы в контейнере запустили вышеуказанную команду просмотра логов tail, она выведет строки типа:

==> /var/log/httpd2/access_log <==
172.18.0.1 - - [26/Dec/2016:10:25:17 +0000] "GET / HTTP/1.1" 200 45
Запуск собственного виртуального сайта в рамках контейнера

Файл описания виртуальных сайтов apache2-сервера контейнера находится в файле /conf/vhosts.conf образа. Для запуска собственного виртуального сайта (например demo) Вы должны:

  • Поместить дерево сайта в отдельный каталог (например /var/www/vhosts/demo/) HOST-системы. Пусть это будет простая тестовая страница /var/www/vhosts/demo/index.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
  <title>Тестовая demo-страница для проверки работоспособности виртуального хоста в контейнере kafnevod/altlinux.p8-apache2</title>
  </head>
  <body>
    <b><i>Виртуальный хост demo.local контейнера kafnevod/altlinux.p8-apache2 работает!</i></b>
  </body>
</html>
  • Описать конфигурацию этого виртуального хоста в файле конфигурации vhosts.conf отдельного каталога. Например /etc/docker/apache2/conf/vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
        DocumentRoot "/var/www/vhosts/demo/"
        ServerName demo.local
        ErrorLog "/var/log/httpd2/demo_log"
        CustomLog "/var/log/httpd2/demo_log" common
</VirtualHost>
  • Удалить работающий контейнер, если он у Вас запущен:
# docker rm -f apache2
  • Запустить новый контейнер командой:
# docker run -d \
  -p 80:80 \
  --name=apache2Virt \
  -v /etc/docker/apache2/conf/:/conf/ \
  -v /var/www/vhosts/:/var/www/vhosts/ \
  kafnevod/altlinux.p8-apache2

Параметры -v монтируют каталог конфигурации /conf/ и каталог виртуальных сайтов /var/www/vhosts/ контейнера на каталоги /etc/docker/apache2/conf/, /var/www/vhosts/ HOST-системы.

  • Опишите виртуальный домен в файле /etc/hosts:
127.0.0.1 demo.local ... localhost

Если Вы запускаете контейнер на удаленном сервере, то вместо адреса 127.0.0.1 в файле /etc/hosts хоста где Вы запускаете браузер вы должны добавить строчку:

ip-адрес_сервера demo.local

Если Вы запускаете виртуальный сайт для внешнего доступа, то вместо правки файла /etc/hosts зарегистритуйте домен (например demo.ics.perm.ru) у провайдера домена и укажите его в описании конфигурации файла /etc/docker/apache2/conf/vhosts.conf.

Проверка работы виртуального сайта в контейнере

Для проверки работы виртуального сайта наберите в строке браузера URL: http://demo.local/. В окне браузера отобразится текст: Виртуальный хост demo.local контейнера kafnevod/altlinux.p8-apache2 работает!

Tag summary

Content type

Image

Digest

Size

86 MB

Last updated

about 9 years ago

docker pull kafnevod/altlinux.p8-apache2