# 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) Вы должны:
<!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>
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-системы.
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 работает!
Content type
Image
Digest
Size
86 MB
Last updated
about 9 years ago
docker pull kafnevod/altlinux.p8-apache2