[Synology, Docker] 시놀로지에서 Docker-compose 업데이트하기

[Synology, Docker] 시놀로지에서 Docker-compose 업데이트하기

920+, 1821+ 등 +버전을 사용하신다면 시놀로지는 기본적으로 docker를 지원합니다.
하지만 docker-compose 버전이 낮아 사용이 불편합니다.
이 글에서는 docker-compose 버전 업데이트를 설명합니다.

오라클 클라우드 프리티어에서 최신화시킨 docker-compose 버전
시놀로지(DS1821+)의 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의 버전이 낮아 발생하는 문제가 해결 가능합니다!

{{#is "post"}} {{/is}}