准备搭建一个 mattermost ,聊天程序。然后在官方文档中给了这样一个 docker-compose.yml: https://github.com/mattermost/docker/blob/main/docker-compose.yml
然后第 51 行开始的这几行代码,我开始看不懂了,可以这么写?
environment: # timezone inside container - TZ # necessary Mattermost options/variables (see env.example) - MM_SQLSETTINGS_DRIVERNAME - MM_SQLSETTINGS_DATASOURCE # necessary for bleve - MM_BLEVESETTINGS_INDEXDIR # additional settings - MM_SERVICESETTINGS_SITEURL
难道不应该是
environment: # timezone inside container - ${TZ} - ${MM_SQLSETTINGS_DRIVERNAME} - ${MM_SQLSETTINGS_DATASOURCE} - ${MM_BLEVESETTINGS_INDEXDIR} - ${MM_SERVICESETTINGS_SITEURL}
吗?这些不都是环境变量吗?为啥可以直接写名字?主要他上半部分是正常变量的写法,我觉得没毛病
大佬们解释一下,第一次见
![]() | 1 GentleFifth 2023-08-07 19:25:16 +08:00 via Android |
2 7897894 OP @GentleFifth 谢谢 请问是只有在 environment 中才可以这么写吗?其他地方都要写成`${变量}`吗? |
![]() | 3 ncepuzs 2023-08-07 19:35:25 +08:00 |
![]() | 4 cheng6563 2023-08-07 19:35:29 +08:00 docker 本来就是这样的啊 TZ=Asia/Shanghai 是全写。TZ 就是引用系统变量的简写 |
5 7897894 OP |
![]() | 7 feelinglucky 2023-08-07 22:21:07 +08:00 这个应该是 YAML 的特性 |
8 julyclyde 2023-08-08 14:03:22 +08:00 这其实是两个问题: 1 compose 文件的 spec 支持什么格式,你用的 compose 软件版本支持哪个版本的 spec 2 这个应用程序支持哪些环境变量 |