我用Ubuntu基础映像创建了一个Docker容器。通过.env文件设置环境变量。运行容器时,我可以看到使用Shell终端传递的变量。
我希望能够在我的wp-config中获得env变量。我正在使用getenv,但无法正常工作。
任何建议。
谢谢
答案 0 :(得分:0)
您可以通过两种方式为Docker容器设置环境变量
docker run -e VARIABLE=VALUE ...
在docker-compose文件中,您可以像这样设置:
environment:
- DEBUG=1
https://docs.docker.com/compose/environment-variables/#set-environment-variables-in-containers
答案 1 :(得分:0)
您使用type submitTxResp struct {
TxID *bc.Hash `json:"tx_id"`
}
文件,因此您当然使用TxID
。如果不使用.env
,则docker-compose
无效。并且.env文件必须放在运行docker-compose
的目录中。
整个解决方案可能是这样的:
.env
.env
docker-compose.yml
docker-compose
wp-config.php
MY_VARIABLE=abc
我想您没有得到env,因为您没有在version: '3'
services:
my_service:
environment:
- MY_VARIABLE="${MY_VARIABLE}"
中进行echo getenv('MY_VARIABLE');
,- MY_VARIABLE="${MY_VARIABLE}"
中的值将不会自动充当容器的环境变量,您需要在撰写文件中处理它。仅供参考。
详细信息是指官方guide
答案 2 :(得分:0)
以上两个答案,我都可以将env变量传递给docker服务的apache环境。我只需要为每个env变量将Pass env_name添加到.htaccess文件。
然后我可以通过我的php应用程序中的$ SERVER ['env_name']获取值。