ChienI Kao
筆記網站
JHTNT
筆記網站
一個可以全自動幫你升級到最新 image 的工具 WatchTower
官方文件
https://containrrr.github.io/watchtower/
# 介紹
WatchTower 啓動後,會開始幫你監控機器上所有正在執行的 container,每隔一段時間發現有新的 image 後,它就會幫你下載最新 image 並且使用你當初建立該 container 時的相同環境設定去幫你重新啓動容器。
# 開啟 WatchTower
接下來會介紹兩個方式開啟 WatchTower:
# docker 開啟 WatchTower
docker run -d \ | |
--name watchtower \ | |
-v /var/run/docker.sock:/var/run/docker.sock \ | |
containrrr/watchtower |
# docker compose 開啟 WatchTower
- 基礎版 (單純開啟 watchtower)
version: '1.0' | |
services: | |
nginx: | |
image: nginx | |
container_name: nginx | |
ports: | |
- 80:80 | |
watchtower: | |
image: containrrr/watchtower | |
container_name: watchtower | |
volumes: | |
- /var/run/docker.sock:/var/run/docker.sock | |
networks: | |
site: |
- 參考詳細版 (包含建立 docker container website_frontend 和 website_backend)
version: '1.0' | |
services: | |
nginx: | |
build: . | |
container_name: nginx | |
restart: always | |
environment: | |
- TZ=Asia/Taipei | |
volumes: | |
- ./site:/var/www/html | |
- ./nginx:/etc/nginx/conf.d | |
- ./nginx/ssl/:/etc/nginx/ssl/:ro | |
- ./nginx/log:/var/log/nginx | |
ports: | |
- 80:80 | |
- 443:443 | |
- 1337:1337 | |
networks: | |
- site | |
website_frontend: | |
image: [The-image-on-the-docker-hub-need-to-use:${MODE}] | |
container_name: website_frontend | |
restart: always | |
expose: | |
- 3000 | |
networks: | |
- site | |
website_backend: | |
image: [The-image-on-the-docker-hub-need-to-use:${MODE}] | |
container_name: website_backend | |
restart: always | |
environment: | |
- PUBLIC_URL=[] | |
expose: | |
- 1337 | |
volumes: | |
- ./website_backend/.backend_env:/opt/app/.env | |
- ./website_backend/database/:/opt/app/.tmp/ | |
- ./website_backend/media/:/opt/app/public/uploads | |
networks: | |
- site | |
# 設置日誌 | |
logging: | |
driver: "json-file" | |
options: | |
max-size: "10m" | |
max-file: "3" | |
watchtower: | |
image: containrrr/watchtower | |
container_name: watchtower | |
restart: always | |
volumes: | |
- /var/run/docker.sock:/var/run/docker.sock | |
command: --interval 30 website_frontend website_backend | |
networks: | |
site: |