• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

apache 来源:Moby04 5次浏览

我正在尝试为现有站点设置定制的码头集装箱。要做到这一点,我想提供我自己的自定义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中。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)