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

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

달소 달소 3447

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로 갈아탔습니다 7 기현 1일 전07:34 321 +2
잡담 Immich가 FUTO에 합류했습니다.(Immich 핵심 팀은 정규직으로 근무합니다.) 4 달소 2일 전11:38 267 +1
정보 오픈아이콘 제공 사이트(https://cdn.jsdelivr.net) 오류 발생 => 복구됨 2 지딱코 3일 전14:31 218 +1
3894 질문
normal
스키피95 15시간 전00:07 76 0
3893 질문
normal
고심분투 22시간 전17:10 154 0
3892 질문
image
경호 23시간 전15:50 75 0
3891 질문
normal
경호 1일 전13:23 49 0
3890 잡담
image
기현 1일 전07:34 321 +2
3889 잡담
image
keiminem 2일 전13:12 441 0
3888 잡담
normal
달소 2일 전11:38 267 +1
3887 질문
image
EXP 2일 전23:48 87 0
3886 질문
normal
홍익 2일 전19:26 208 0
3885 정보
image
지딱코 3일 전14:31 218 +1
3884 가이드
image
달소 3일 전22:22 365 +3
3883 가이드
image
ljr10 4일 전08:20 170 0
3882 가이드
image
달소 4일 전06:46 188 +1
3881
image
달소 4일 전05:50 210 +6
3880 정보
image
달소 4일 전05:38 127 0
3879 잡담
image
달소 4일 전05:20 412 0
3878 오픈소스
image
keiminem 4일 전17:43 361 +3
3877 질문
normal
purndal 5일 전14:32 242 0
3876 질문
image
초보나스 5일 전10:46 106 0
3875 후기
image
달소 5일 전10:03 336 0