기존 사이트에 대한 사용자 정의 도커 컨테이너를 설정하려고합니다. 그렇게하려면 ServerName
과 함께 자신 만의 맞춤 설정 인 vhost
을 제공하고 싶습니다.Apache가 도커 컨테이너의 servername을 확인할 수 없습니다.
하지만 사용자 정의 vhost configuration
를 추가하고 나는 아파치가 글로벌 이름을 확인할 수 없습니다 경고 얻을 아파치를 다시 시작하려고하면 : 중요 한 것은 내가 용기의 쉘에 로그인 할 때 수동으로 실행하는 것이 사실 Could not reliably determine the server's fully qualified domain name, using 172.26.0.2. Set the 'ServerName' directive globally to suppress this message
입니다 service apache2 restart
더 이상 경고 메시지가 표시되지 않습니다.
빌드시 어떻게 억제 할 수 있습니까? 어떻게해야 작곡가에게 vhost
을 제공해야합니까? 여기
docker-compose.yml
같은 것입니다 :
FROM php:7.0-apache
ENV TERM=xterm
LABEL maintainer="Derek P Sifford <[email protected]>" \
version="0.15.2-php7.0"
ARG APP_HOST
ENV APP_HOST=$APP_HOST
ADD ./sites/app.conf /etc/apache2/sites-available/app.conf
RUN sed -i 's/ServerName APP_HOST/ServerName '$APP_HOST'/g' /etc/apache2/sites-available/app.conf
RUN sed -i 's/AllowOverride None/AllowOverride All/g' /etc/apache2/apache2.conf \
&& a2enmod rewrite expires \
&& a2dissite 000-default.conf \
&& a2ensite app.conf \
&& service apache2 restart
WORKDIR /app
EXPOSE 80 443
그리고 분명히 사이트 설정 : 내 자신의 가능한 사이트 추가
version: '3'
services:
web:
build:
context: ./etc/php
args:
- APP_HOST=${APP_HOST}
ports:
- ${APP_PORT}:80
- ${APP_PORT_SSL}:443
volumes:
- ./var/bin/:/tmp/bin/
- ./app/:/var/www/html/
- ./log/:/var/log/
- ./etc/php/conf/:/usr/local/etc/php/conf.d/
environment:
- VIRTUAL_HOST=${VIRTUAL_HOST}
다음
, Dockerfile
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName APP_HOST
SetEnv APPLICATION_ENV "development"
<Directory "/var/www/html">
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
에 의해 제거되었습니다. 'echo "ServerName localhost"| /etc/apache2/conf-available/fqdn.conf && \ a2enconf fqdn'을 Dockerfile에 보냅니다. 고마워 :) – Moby04