Apache无法确定码头集装箱上的服务器名称
我正在尝试为现有站点设置定制的码头集装箱。要做到这一点,我想提供我自己的自定义vhost
配置与ServerName
。Apache无法确定码头集装箱上的服务器名称
但是当我尝试添加自定义vhost configuration
和重启apache我得到阿帕奇无法确定全局名称警告: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
是这样的:
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
,增加了我自己可用的站点:
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
很显然站点配置:
<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>
回答:
如图所示here并在警告消息中可以设置ServerName
属性localhost
在/etc/apache2/apache2.conf
从Dockerfile中。
回答:
我认为您的配置存在问题,因为您将其复制并安装到卷上。我认为你的配置不应该在你的容器是活着的时候发展,所以你不需要安装它。
因此,尝试从您的码头工人,compose.yml删除此行:
- ./etc/php/conf/:/usr/local/etc/php/conf.d/
回答:
在Apache的容器实例,你应该把IP 172.26.0.2
在/etc/hosts
并将其提供例如一个完全合格的名称
172.26.0.2 vbox.test.com
然后用vbox.test.com
或
更换主机名SERVERNAME把localhost
。
This应该可以帮到你。
以上是 Apache无法确定码头集装箱上的服务器名称 的全部内容, 来源链接: utcz.com/qa/261741.html