跳转至

docker-compose 错误提示 无法支持的版本


2024-04-03 by dongnan

环境描述

  • OS: Ubuntu Server 20.04 LTS
  • Docker: v20.10.12
  • Compose: v1.25.0

错误描述

提示以下错误

$ docker-compose -f standalone-mysql-8.yaml up


ERROR: Version in "./standalone-mysql-8.yaml" is unsupported. You might be seeing this error because you're using the wrong Compose file version.

Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.

For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

编排文件第1行内容,Compose 版本为 3.8

$ head -n 1 standalone-mysql-8.yaml


version: "3.8"

错误原因

Ubuntu 系统默认使用 docker-compose 的版本是 v1.25.0 ,此版本不支持编排文件中的 Version 3.8 版本关键字。

解决方法

卸载并重新安装 docker-compose v1.29.2版本,该版本支持编排文件中的 Version 3.8 版本关键字。

卸载

$ apt remove docker-compose

下载

$ wget -S https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64
$ wget -S https://github.com/docker/compose/releases/download/1.29.2/docker-compose-Linux-x86_64.sha256

校验

$ sha256sum -c docker-compose-Linux-x86_64.sha256


docker-compose-Linux-x86_64: OK

安装

$ mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
$ chmod 700 /usr/local/bin/docker-compose

软连接

$ ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

版本

$ docker-compose version

.

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

验证

创建容器

$ docker-compose -f standalone-mysql-8.yaml up -d

检查容器

$ docker-compose -f standalone-mysql-8.yaml ps --service

.

mysql
nacos

参考文档

回到页面顶部