Apache无法确定码头集装箱上的服务器名称

我正在尝试为现有站点设置定制的码头集装箱。要做到这一点,我想提供我自己的自定义vhost配置与ServerNameApache无法确定码头集装箱上的服务器名称

但是当我尝试添加自定义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

回到顶部