你可以采取一些线索,从“ 在生产中使用撰写 ”
您几乎肯定会想要对应用程序配置进行更改,使其更适合实时环境。这些更改可能包括:
- 删除应用程序代码的所有卷绑定,以使代码保留在容器内,并且不能从外部更改
- 绑定到主机上的不同端口
- 设置不同的环境变量(例如,减少日志记录的冗长性或启用电子邮件发送)
- 指定重启策略(例如,重启:始终)以避免停机
- 添加额外的服务(例如,日志聚合器)
然后,该建议与您提到的示例不太相似:
因此,您可能需要定义一个额外的Compose文件,例如
production.yml,以指定适合生产的配置。该配置文件只需要包含您想要对原始Compose文件进行的更改。docker-compose -f docker-compose.yml -f production.yml up -d
这种 覆盖机制
比尝试在一个撰写文件中混合使用dev和prod逻辑更好,并且使用环境变量尝试选择一个更好。
注意:如果您命名第二个dockerfile
docker-compose.override.yml,则简单的
docker-composeup将自动读取覆盖。
但是根据您的情况,基于环境的名称会更清晰。



