docker-compose 可以这么写?

278 天前
 7897894

准备搭建一个 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}

吗?这些不都是环境变量吗?为啥可以直接写名字?主要他上半部分是正常变量的写法,我觉得没毛病

大佬们解释一下,第一次见

2024 次点击
所在节点    程序员
8 条回复
GentleFifth
278 天前
7897894
278 天前
@GentleFifth 谢谢 请问是只有在 environment 中才可以这么写吗?其他地方都要写成`${变量}`吗?
ncepuzs
278 天前
cheng6563
278 天前
docker 本来就是这样的啊 TZ=Asia/Shanghai 是全写。TZ 就是引用系统变量的简写
7897894
278 天前
@cheng6563 原来如此 可以写成这样吗?

environment:

TZ: ""

MM_SQLSETTINGS_DRIVERNAME: ""
7897894
278 天前
@ncepuzs 我知道这个 可以改成键值对形式吗?
feelinglucky
278 天前
这个应该是 YAML 的特性
julyclyde
277 天前
这其实是两个问题:
1 compose 文件的 spec 支持什么格式,你用的 compose 软件版本支持哪个版本的 spec
2 这个应用程序支持哪些环境变量

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/963136

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX