如何将变量从.env或docker-compose.yaml文件传递到nginx服务器文件



我有一个docker-compose.yaml文件和一个.env文件。如果我在env文件中声明了一个变量,我就可以在docker compose中访问它。所以,这很好。

但是,我想更改nginx的default.conf属性,即根据我在env中提供的值生成的server_name = xxx

所以,我的env看起来像这样(只共享一部分(

#.env
NGINX_SERVER_NAME=dev.example

在docker compose中,我在这里提到了这个变量:

nginx:
container_name: ${APP_NAME}-server
environment:
- SERVER_NAME=${NGINX_SERVER_NAME}

default.conf中,我简单地调用这样的变量:

server_name ${SERVER_NAME};

我希望default.conf包含server_name dev.example,但它包含令牌,即${SERVER_NAME}

我如何才能实现我想要的目标?感谢

这对我来说似乎没问题。试着在compose文件中的env变量周围使用引号。

nginx:
container_name: ${APP_NAME}-server
environment:
- SERVER_NAME="${NGINX_SERVER_NAME}"

或者试着这样写env变量。

nginx:
container_name: ${APP_NAME}-server
environment:
SERVER_NAME: "${NGINX_SERVER_NAME}"

最新更新