重新启动Apache Inside Docker并保持环境变量

时间:2016-03-31 11:12:17

标签: docker env

上下文

using environment variables with docker配置我的应用程序。这样,单个构建的映像可以为需要不同配置的许多不同用户提供服务。

在开发时,我经常进入容器并在重新启动Apache之前执行一些调整。这可能类似于编辑php.ini文件以打开调试信息。但是,如果我这样做,PHP将失去对已设置的所有环境变量的访问权限,并且应用程序将停止工作。

问题

有没有办法可以在docker容器中重启Apache服务器,并维护对PHP中使用docker run ... -e foo=bar部署时传入的所有环境变量的访问权限?

额外信息

我用来输入泊坞窗的脚本如下所示:

#!/bin/bash 

EXPECTED_NUM_ARGS=1;

if [ "$#" -ne $EXPECTED_NUM_ARGS ]; then
    # user didn't specify which container ID, assume the latest one
    CONTAINER_ID=`/usr/bin/docker ps -q --no-trunc | /bin/sed -n 1p`
    /usr/bin/docker exec -it $CONTAINER_ID env TERM=xterm bash
else
    # enter the container the user specified
    /usr/bin/docker exec -it $1 env TERM=xterm bash
fi

如果重要,我使用Apache作为容器的前台进程,因此我可以在没有容器停止的情况下重启Apache。

1 个答案:

答案 0 :(得分:0)

查看a similar issue on Ask Ubuntu,看起来我正在重新启动Apache。

我一直在运行service apache2 restart。如果我改为运行apache2ctl restart,则没有问题。