Я использую docker-compose для управления средой разработки. Одним из компонентов является обратный прокси Apache. Я установил httpd-vhosts.conf, чтобы включить в него хост, который по сути проксирует запрос обратно на хост.Как передать информацию с хоста на докер
Конфигурируется следующим образом.
FROM httpd:2.4
#ssl
ADD ./server.crt /usr/local/apache2/conf/
ADD ./server.key /usr/local/apache2/conf/
ADD ./server-bundle.crt /usr/local/apache2/conf/
#vhosts
ADD ./httpd-vhosts.conf /usr/local/apache2/conf/extra
RUN echo "Configuring Vhost" && \
sed -i '[email protected]#Include conf/extra/[email protected] conf/extra/[email protected]' /usr/local/apache2/conf/httpd.conf
# Exposed ports
EXPOSE 80
EXPOSE 443
Как-то мне нужно передать в текущем IP-адресе шлюза хозяина в HTTPd-vhosts.conf
В настоящее время это трудно закодированный как этот
<VirtualHost *:80>
ProxyPass /http://10.0.2.2:8090/
ProxyPassReverse /http://10.0.2.2:8090/
ErrorLog "logs/cf.e-change.co-error_log"
CustomLog "logs/cf.e-change.co-access_log" common
</VirtualHost
Если я запускаю следующую команду netstat -nr | grep '^0\.0\.0\.0' | awk '{print $2}'
Это дает мне IP-адрес, который необходимо передать в контейнер как переменную окружения.
Что было бы лучше всего для этого?
Большое спасибо!
Привет, спасибо это хорошо выглядит. есть ли способ передать вещи в результате сценария? Думаю, я могу создать Makefile, который передает эту информацию, хотя – Istvano
Не внутри compose yml, вам нужно сделать свою собственную оболочку для вызова композиции с правильными переменными. Обратите внимание, что вы не ограничены созданием, есть также 'docker run -e MY_VAR busybox env' – BMitch