You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose中未设置环境变量时添加含连字符的默认值

Docker Compose extra_hosts环境变量默认值配置方案

你的问题出在语法错误上,以下是具体分析和解决方法:

  • 错误1:${SOME_IP:#{host-gateway}}里的#{}是Ansible等工具的语法,Docker Compose不识别这种写法。
  • 错误2:${SOME_IP:-host-gateway}}多了一个闭合的},属于语法格式错误,导致解析失败。

正确配置方式

Docker Compose的环境变量默认值语法是${变量名:-默认值},直接把默认值写在:-后面即可,针对你的场景,正确的extra_hosts配置如下:

extra_hosts:
  - "kafka-1:${SOME_IP:-host-gateway}"

说明

  • 当环境变量SOME_IP已设置时,会使用你指定的IP地址;
  • 当SOME_IP未设置时,自动使用host-gateway(Docker 20.10及以上版本支持,用于指代宿主机的网关地址);
  • 如果你的Docker版本较低,host-gateway不生效,可以替换为host.docker.internal(部分系统适用)或者宿主机的具体IP地址。

内容的提问来源于stack exchange,提问作者Makruzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 00:44:55