본문 바로가기

취미, 관심/NAS, Server

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

920+, 1821+ 등 +버전을 사용하신다면 시놀로지는 기본적으로 docker를 지원합니다.

하지만 docker-compose 버전이 낮아 사용이 불편합니다.

 

이 글에서는 docker-compose 버전 업데이트를 설명합니다.

 

오라클 클라우드 프리티어에서 최신화시킨 docker-compose 버전
시놀로지(DS1821+)의 docker-compose 버전

 

기본적으로 SSH 접속이 가능함을 전제로 합니다.

 

docker-compose 의 현재 최신 버전은 2.6.1 입니다.

최신 버전은 releases 페이지에서 확인 가능합니다.

https://github.com/docker/compose/releases

 

Releases · docker/compose

Define and run multi-container applications with Docker - docker/compose

github.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.6.1/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까지 입력해야 합니다.

 

이제 docker-compose의 버전이 낮아 발생하는 문제가 해결 가능합니다!