我有一个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}"