docker-compose 명령어 수행 시, docker-compose.yml is unsupported
docker-compose 명령어 수행 시, version … is unsupported 해결 방법을 작성한다.
[01] 상황
-
docker-compose up -d명령어 수행-
Version in "./docker-compose.yml" is unsupported오류 발생
-
1
2
3
4
# ex)
aiswtool@medge02:~/22_aiswtool/1_apps/medicalmgr-etri$ sudo docker-compose up -d
ERROR: Version in "./docker-compose.yml" 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/

[02] 원인
- 실행하는 docker-compose 의 버전을 현재 운영체제(Ubuntu 20.04)에서 지원하지 않음
- 현 시스템의 docker-compose 버전은
1.25.0
1
2
3
4
5
6
7
8
docker-compose version
#ex)
aiswtool@medge02:~$ docker-compose version
docker-compose version 1.25.0, build unknown
docker-py version: 4.1.0
CPython version: 3.8.10
OpenSSL version: OpenSSL 1.1.1f 31 Mar 2020
[03] 수정
-
docker-compose재설치-
23.01.06기준Ubuntu 20.04에서는2.14.2버전이 설치됨
-
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# docker-compose의 최신 버전 값을 얻는데 사용하는 패키지 설치
sudo apt-get install jq
# docker-compose의 최신 버전 값, 설치 경로를 변수에 저장
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
DESTINATION=/usr/bin/docker-compose
# docker-compose 바이너리 다운로드 및 지정 경로에 설치
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
# 바이너리에 권한 설정(root 권한 아닌 사용자가 접근할 수 있게)
sudo chmod 755 $DESTINATION
# 명령어 설치 확인
which docker-compose
# 설치된 docker-compose version 확인
docker-compose version
