시놀로지 도커 이미지 자동으로 업데이트 하기 watchtower

안녕하세요. 달소입니다.

이번편은 앞서 작성한 도커 이미지 자동 업데이트 서비스를 시놀로지/헤놀로지 도커에 구축하는편입니다.

내용은 기존것과 동일하며 환경부터 설치방법까지만 시놀로지 DSM 콘솔에서 진행됩니다.


어떤 프로그램이나 서비스를 사용하다보면 시간이 지남에 따라 취약점인 나오고 기능 개선또한 이루어지게 됩니다. 이럴경우 당연히 업데이트가 나오게되는데요.

일반적인 SW의 경우 관리자/사용자가 수동으로 업데이트해주면 되지만(이것도 사실 쉽지않음..) Docker Image의 경우 이미지를 새로받고 컨테이너실행 명령어를 찾고 다시 실행시키고 등 되게 번거롭습니다.

이러한 번거로움을 해결하도록 도와주는게 Watch Tower 입니다.

Watch Tower란?

Watch Tower 는 이름그대로 감시타워입니다. 호스트에서 실행중인 Docker Container를 모니터링하고 최신이미지가 있으면 기존 컨테이너의 설정값을 그대로 신규 이미지를 통해 최신 컨테이너로 업데이트 해줍니다.

당연히(?) 옵션을 통해서 강제업데이트를 하지않게 할수도있고 제외할 컨테이너를 포함 할 수도있습니다.
https://containrrr.dev/watchtower/container-selection/

깃허브에서 9700개의 스타를 받을정도로 꽤나 인기있는 툴이기때문에 아무쪼록 필요하시다면 아래 가이드를 통해 설치해보시면 되겠습니다.

설치환경

DSM 7.0.1
docker 패키지 설치상태

Docker로 Watch Tower 설치하기.

시놀로지의 경우 도커 GUI 환경에서 도커소켓을 지정할 수 없기때문에 터미널 창에서 컨테이너 생성을 진행해야합니다.

터미널을 활성해주신뒤 ssh로 접근해주시고 아래 명령어로 컨테이너 생성을 진행합니다.

sudo docker run --name="watchtower" -d --restart=always -v /var/run/docker.sock:/var/run/docker.sock -e TZ=Asia/Seoul containrrr/watchtower --interval 10

기본적으로 업데이트를 체크하는 주기가 86400=1일(3600*24시간) 이며 체크 주기를 빠르게하고싶으시다면 이 숫자를 변경하시면 됩니다.
저는 테스트를 위해 10초로 했습니다. --interval 값 변경

이걸 더블클릭 해서 로그를 봐봅니다.

실행이 되고 10초 후부터 첫번째 체크를한다고합니다.

그다음부터는 시놀로지에있는 docker 컨테이너의 이미지를 하나씩 검색해서 자동으로 업데이트합니다.

Plex도 내부적으로 잘 업데이트 된것을 확인할 수 있습니다.

끝!