我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。
答案 0 :(得分:0)
查看a similar issue on Ask Ubuntu,看起来我正在重新启动Apache。
我一直在运行service apache2 restart
。如果我改为运行apache2ctl restart
,则没有问题。