docker-compose v2 설치
1. 이슈 내용
docker-compose.yml
파일을 작성한 후 새로 생성한 인스턴스로 해당 파일을 전송하였고, ssh로 접속하여 sudo docker-compose up -d
를 실행하였습니다. 그런데, 이 과정에서 버전 차이로 인한 문법 오류가 발생하였습니다. 이는 docker-compose.yml
을 작성한 당시의 버전(2.2
)과 인스턴스에는 설치된 버전(1.x
)의 차이로 인해 발생한 오류였습니다.
2. 해결 내용
공식문서[1]를 참고하여 docker compose 2.x 버전을 설치하였으며, 문제를 해결하는데 매우 큰 도움이 되었습니다. 먼저, 아래의 명령어를 입력하여 현재 안정된 버전의 Docker Compose를 다운로드 받기 위한 설정을 해줍니다.
$ DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
$ mkdir -p $DOCKER_CONFIG/cli-plugins
$ curl -SL https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
위의 명령어를 실행하면 Compose V2가 $HOME
폴더에 설치됩니다. 만약, root 사용자가 아닌 모든 사용자가 Docker Compose를 사용하도록 설정하려면 위의 명령어 중에서 /usr/local/lib/docker/cli-plugins
을 ~/.docker/cli-plugins
으로 변경하여야 합니다. 이어서 아래 명령어를 입력하여 해당 바이너리 파일에 실행 권한을 부여해주도록 합니다.
$ chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
그리고 Docker Compose의 버전을 확인하면 다음과 같이 2.x 버전이 설치된 것을 확인할 수 있습니다.
$ sudo docker compose version
Docker Compose version v2.2.3
기존에 1.x 버전의 Docker Compose의 경우 docker-compose up
으로 컨테이너를 실행시켰는데, 2.x 버전의 Docker Compose의 경우에는 docker compose up
으로 컨테이너를 실행시켜야 합니다.