• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글
정보

Docker 이미지 자동 업데이트 툴 Watch Tower 설치하기.

달소 달소 3421

2

5

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

오늘은 많은분들이 아마 알고계실 Docker image 자동 업데이트 도구인 Watch Tower에 대해서 소개해드리고 직접 설치해보고자합니다.

 

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

 

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

 

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

Watch Tower란?

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

 

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


https://containrrr.dev/watchtower/container-selection/

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

설치환경

Ubuntu 20.04 LTS
Docker
Docker-compose

Docker로 Watch Tower 설치하기.

메뉴얼상에는 docker 및 docker-compose가 모두있지만 개인적으로 설정값을 저장할 수 있는 docker-compose를 선호하기 때문에 해당 방식으로 진행하겠습니다.

먼저 watchtower의 설정값을 보관해줄 디렉터리를 생성해주겠습니다.

 

mkdir -p /data/watchtower/config
cd /data/watchtower
vi docker-compose.yml

version: "3"
services:
  watchtower:
    image: containrrr/watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      TZ: Asia/Seoul
      WATCHTOWER_POLL_INTERVAL: 86400
    restart: unless-stopped

여기서 환경 변수를 더 추가하시고 싶다면 WATCHTOWER_CLEANUP은 업데이트 성공후 기존 이미지를 삭제할 것 인지 대한것 인데 혹시 모르니 false로 하고 추가해주시면 되겠습니다.

 

POOL_INTERVAL은 체크 주기이며 86400초는 24시간을 의미합니다.

컨테이너 생성명령어는 docker-compose up -d // v2 일경우 docker compose up -d 입니다.

 

watchtower의 경우 gui를 지원해주지 않기때문에 CLI에서 동작을 확인해야하는데요.

docker ps 명령어를 통해 컨테이너 id를 획득하고
docker logs 명령어로 해당 컨테이너의 로그를 확인해주시면됩니다.

저는 동작을 테스트하기위해 10초짜리로 만들어봤습니다.

자동으로 최신 이미지를 검색하고 컨테이너를 중단시키고 실행시켜줍니다.

쉽죠?

 

++ 제외할 컨테이너가 있다면 제외할 컨테이너에 라벨을 붙여주시면 됩니다.
labels:
com.centurylinklabs.watchtower.enable="false"

 

도커는 정말... 모든것을 간편하게 해주는군요 ㅎㅎ
아무쪼록 사용하시는데 문제가 없으셨으면 좋겠습니다~

신고공유스크랩
5
2등
nom 2022.08.04. 01:05

예외 처리도 가능할까요? 특정 버전을 유지해야할 상황이 있을 수도 있을 듯한데...

profile image
달소 글쓴이 2022.08.04. 09:34
nom

제외할 컨테이너에 라벨을 붙여주시면 됩니다.

labels:

com.centurylinklabs.watchtower.enable="false"

3등
어텍 2023.02.21. 13:39
좋은정보 감사합니다. 이참에 묵혀둔 docker 업데이트 적용해보겠습니다.
profile image
초보나스 2023.11.12. 12:18

 

1111.jpg

 

캬 달소님 다시한번 감사합니다 나스 부팅 했더니 저렇게 뜨면서 이름도 지맘대로 변경되더니 이미지쪽은 1개인데

컨테이너는 이상한 이름으로  Watch Tower 8개정도가 있어서 컨테이너랑 이미지랑 지우고 다시 보고 재설치했네요

 

이해가 안되는건 아무 것도 건드릴 적 없는데 저렇게 이름변경되고 컨테이너에 8개씩 생성된는 이유를 모르겠네요

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
정보 proxmox/debian 레포 변경사항 (N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware') 1 달소 9시간 전08:21 100 +1
잡담 Proxmox 사이트도 개편을 했나보네요 1 달소 9시간 전07:46 191 +1
질문 적용 방법을 모르겠습니다?? 13 초보나스 2일 전08:05 245 +1
3859 질문
image
게르노 1시간 전16:08 22 0
3858 질문
image
동도리군 5시간 전12:14 69 0
3857 정보
image
달소 9시간 전08:21 100 +1
3856 잡담
image
달소 9시간 전07:46 192 +1
3855 가이드
image
달소 10시간 전07:24 168 0
3854 질문
normal
서버구축하자 1일 전13:09 374 0
3853 질문
image
미스터빈 1일 전20:09 205 0
3852 질문
image
초보나스 2일 전08:05 245 +1
3851 질문
normal
웹서버구축관심 3일 전02:22 311 0
3850 잡담
normal
달소 3일 전23:39 205 +2
3849 질문
normal
게르노 4일 전03:11 191 0
3848 질문
image
감자칩 4일 전20:04 289 0
3847 질문
normal
ljr10 4일 전19:45 202 0
3846 질문
image
TANG 5일 전11:33 227 0
3845 질문
normal
감자칩 5일 전18:55 149 0
3844 질문
normal
숲형 6일 전11:21 277 0
3843 질문
image
kmw_ 6일 전09:37 199 +1
3842 질문
normal
bass9030 6일 전00:43 139 +1
3841 잡담
normal
칼룬 6일 전18:12 283 +1
3840 질문
normal
늘맑음 24.04.18.15:10 246 +1