gpt4 book ai didi

docker - 在Docker内部重新启动Apache并保留环境变量

转载 作者:行者123 更新时间:2023-12-02 20:23:07 25 4
gpt4 key购买 nike

语境

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

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



有没有办法可以在docker容器中重新启动Apache服务器,并保持对通过docker run ... -e foo=bar部署时传入的PHP中所有环境变量的访问?

额外信息

我用来输入docker的脚本如下所示:

#!/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。

最佳答案

查看a similar issue on Ask Ubuntu似乎我不正确地重新启动了Apache。

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

关于docker - 在Docker内部重新启动Apache并保留环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36331788/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com