[Synology, Docker] 시놀로지에서 Docker-compose 업데이트하기
![[Synology, Docker] 시놀로지에서 Docker-compose 업데이트하기](/content/images/size/w2000/wordpress/2022/10/1-19-1.png)
920+, 1821+ 등 +버전을 사용하신다면 시놀로지는 기본적으로 docker를 지원합니다.
하지만 docker-compose 버전이 낮아 사용이 불편합니다.
이 글에서는 docker-compose 버전 업데이트를 설명합니다.


기본적으로 SSH 접속이 가능함을 전제로 합니다.
docker-compose 의 현재 최신 버전은 2.20.0 입니다.
최신 버전은 releases 페이지에서 확인 가능합니다.
https://github.com/docker/compose/releases
Releases · docker/composeDefine and run multi-container applications with Docker – docker/composegithub.com
sudo -i 를 입력하여 루트 권한을 획득한 후 아래 명령어를 입력합니다.
#기존의 파일 백업
mv /var/packages/Docker/target/usr/bin/docker-compose /var/packages/Docker/target/usr/bin/docker-compose_bak
#최신 버전의 docker-compose 다운로드
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /var/packages/Docker/target/usr/bin/docker-compose
#실행권한설정
chmod 755 /var/packages/Docker/target/usr/bin/docker-compose
#docker-compose 버전 확인
docker-compose --version

문제 해결은 아니지만, 저는 이런 오류를 겪었습니다.
docker-compose: error while loading shared libraries: libz.so.1: failed to map segment from shared object
처음에 다운로드 된 docker-compose가 뭔가 호환이 안되었다고 생각됩니다(..)
최신 버전을 쉽게 받으려고 v2.6.1 부분을 latest 로 넣어봤으나, 9바이트짜리 파일이 생성됩니다(..) 이건 그냥 오류페이지를 다운로드 받아서 그렇다고 합니다.
v를 빼먹어도 동일한 문제가 발생하므로, v까지 입력해야 합니다.
jq가 설치되어 있다면 아래 내용으로 설치가 됩니다.
#Docker Compose 설치(최신버전)
sudo apt install jq -y
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
DESTINATION=/var/packages/Docker/target/usr/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
sudo chmod 755 $DESTINATION
#실행권한 부여
sudo chmod +x $DESTINATION
#설치확인 docker-compose --version
우분투의 경우
#Docker Compose 설치(최신버전)
sudo apt install jq -y
VERSION=$(curl --silent https://api.github.com/repos/docker/compose/releases/latest | jq .name -r)
DESTINATION=/usr/bin/docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/${VERSION}/docker-compose-$(uname -s)-$(uname -m) -o $DESTINATION
sudo chmod 755 $DESTINATION
#실행권한 부여
sudo chmod +x $DESTINATION
#설치확인
docker-compose --version
권한부여 시 에러가 난다면 $DESTINATION 에 설정한 경로의 문제일 수 있습니다.
이제 docker-compose의 버전이 낮아 발생하는 문제가 해결 가능합니다!