对于以下Docker配置,Apache无法在端口80上运行,为什么?

时间:2017-09-21 14:50:06

标签: ubuntu docker cron docker-compose

每个人都知道Docker运行的主机不需要知道这个Docker容器内部的内容。因此我尝试在容器内添加对运行cronjobs的支持。阅读了一些关于如何实现这一点的帖子,如下所示:

我正在尝试使用以下image实现我的“自定义”解决方案。

这就是我所做的:

此外,我在entrypoint.sh文件中添加了以下更改:

##################################################################
# Setup CronJobs
##################################################################
ln -sfn /var/www/html/oneview_symfony/bin/console /bin/sfconsole
# Disable this cronjob if the ENV variable is false
if [ "${ENABLE_API_CRON}" == "false" ]
then
    # Disable the cronjob
    sed -i '/0/s/^/#/g' /etc/cron.d/api_command-cron
fi

echo "API Cron Status: ${ENABLE_API_CRON}"

因为我正在使用Docker Compose(docker-compose.yml)堆栈,所以这就是我构建容器的方式:

$ docker-compose up --force-recreate --build --remove-orphans

构建过程很顺利,容器启动没有任何问题。

Successfully built 64ee76d6fbe4
Successfully tagged dockerlamp_webserver:latest
Creating dockerlamp_webserver_1 ... 
Creating dockerlamp_webserver_1 ... done
Attaching to dockerlamp_webserver_1
webserver_1  | UID: 1000
webserver_1  | GID: 1000
webserver_1  | API Cron Status: true
webserver_1  | Enabling module rewrite.
webserver_1  | Enabling module expires.
webserver_1  | To activate the new configuration, you need to run:
webserver_1  |   service apache2 restart
webserver_1  | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.2. Set the 'ServerName' directive globally to suppress this message

当我尝试通过http://localhost访问应用程序时,我得到一个空白页面,根本没有日志。问题不在于应用程序,因为相同的源对master分支中没有这种新变化的图像起作用。

为什么应用程序在这种情况下停止工作?

0 个答案:

没有答案