我们可以在Docker撰写文件YML中使用模板吗?
例如,我要复制部署服务,并且要为容器设置名称,例如:-servicename -_- replicId-
最佳答案
简短答案:是的,在其上下文中称为插值或变量替换:https://docs.docker.com/compose/compose-file/#variable-substitution
更多细节:您可以从环境变量中插值变量值,但是如果环境不包含必需的变量,还可以提供默认值。
来自官方文档的示例如下所示:
db:
image: "postgres:${POSTGRES_VERSION}"
现在考虑您为容器命名的实际用例:容器名称源自变量键,而不源自变量值。因此,您必须使用
container_name
属性来显式覆盖生成的容器名称。参见上面的示例:db
是生成的容器名称,但是db
不是属性值。因此,要使您的用例起作用,您应该尝试以下操作:db:
container_name: "app_${CONTAINER_NAME_SUFFIX}"
关于templates - 撰写文件Docker中的模板语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45899399/