Рейтинг:0

Как сделать собственный образ докера, который может определить переменную ENV

флаг de

Я создал собственный самодельный образ докера, содержащий конфигурацию vhosts, как я могу определить такие переменные, как Имя сервера, DocumentRoot в ENV при запуске контейнера.

Спасибо, очень ценю все ответы

Рейтинг:1
флаг in

Вы можете использовать ${APACHE_DOCUMENT_ROOT} обозначение в конфигурационном файле Apache.

я взял пример из этого вопроса без ответа:

<VirtualHost _default_:80>
  ServerSignature Off

  ErrorLog ${APACHE_LOG_DIR}/000-default-error.log
  CustomLog ${APACHE_LOG_DIR}/000-default-access.log combined

  DocumentRoot ${APACHE_DOCUMENT_ROOT}

  <Directory ${APACHE_DOCUMENT_ROOT}>
    Options FollowSymLinks
    AllowOverride all
    Require all granted
  </Directory>
</VirtualHost>

Очень простой Dockerfile:

С httpd:2.4
КОПИРОВАТЬ *.conf /usr/local/apache2/conf/

Затем я запустил построенный контейнер:

mkdir {журнал, htdocs}
эхо "привет" > htdocs/index.html
докер запустить -d --rm 
  -e APACHE_LOG_DIR=/var/log/apache2 \
  -e APACHE_DOCUMENT_ROOT=/var/www/htdocs/ 
  -v $PWD/htdocs:/var/www/htdocs 
  -v $PWD/журнал:/var/лог/apache2/ 
  -P httpd:тест

И это работает.

$ curl http://localhost:32768/
Привет
$ ls -l лог/
всего 4
-rw-r--r-- 1 root root 85 7 октября 15:06 000-default-access.log
-rw-r--r-- 1 root root 0 7 окт 15:05 000-default-error.log
флаг in
Последующие мысли: `DocumentRoot`, скорее всего, не нуждается в переменной, так как она будет статической. Вы скорее монтируете разные тома в одном и том же месте в разных контейнерах. `ServerName` также не нуждается в переменной, скорее всего, она будет обрабатываться обратным прокси-сервером перед контейнером.
YonzLeon avatar
флаг de
Спасибо! на самом деле я просто пытаюсь узнать, как сделать ENV на изображении независимо от конфигурации `ServerName` и других

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.