docker-compose报错ERROR: Invalid interpolation format for “web“ option in service “services“:

1.问题

在Linux中使用docker-compose过一段时间后再次使用docker-compose命令启动或关闭容器报错:

ERROR: Invalid interpolation format for "web" option in service "services":

2.解决思路

Docker Compose 1.24.1 版本对于复杂的变量插值(特别是带有默认值 - 和 : 混合使用)的解析非常严格甚至存在一些已知的问题或限制

3.解决方式

建议升级到 1.29.2 或更高版本,或者安装 Docker Compose V2。

升级步骤 (推荐升级到 1.29.2,因为 V2 的安装方式可能因系统而异)

#卸载旧版本 (可选,但推荐)

sudo rm /usr/local/bin/docker-compose
#(如果你的安装路径不同,请替换 /usr/local/bin/docker-compose 为你实际的 docker-compose 路径,可以通过 which docker-compose 找到)

#下载最新版本 V1 (例如 1.29.2)

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#这里 1.29.2 是 V1 系列的最新稳定版。如果你想使用 V2 (即 docker compose 命令),请查看 Docker 官方文档的安装方法。

#赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose

#验证新版本
docker-compose version
#确保显示的是 1.29.2 或更高版本。

#升级后,再次尝试运行:
docker-compose up -d

你可能感兴趣的:(docker,java,容器)