LOVEJOAN

文章 分类 评论
76 9 1453

站点介绍

人生是一场孤独的旅行,没有终点。。。

Watchtower-容器的自动升级

chuck 2023-03-15 352 12条评论 Docker Docker

首页 / 正文

Watchtower介绍

官网链接:https://containrrr.dev/watchtower/

Watchtower 是一个可以实现自动化更新 Docker 基础镜像与容器的实用工具。它监视正在运行的容器以及相关的镜像,当检测到 registry 中的镜像与本地的镜像有差异时,它会拉取最新镜像并使用最初部署时相同的参数重新启动相应的容器。
Watchtower本身作为一个镜像可以像其他容器一样运行:

# 官方运行参数参考,然后会检测所有容器和镜像的更新,包括watchtower本身
docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower

选项

自动清除旧镜像

可以在docker run 时添加参数自动清除旧的镜像

docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --cleanup

或者简写-c

docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -c

选择性更新

在docker run时添加需要更新的指定容器名称可以设置只有指定的容器会自动更新,用于一些不适合经常更新升级的情况。

docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -c \
    nginx redis

设置更新频率

默认watchtower会每5分钟检查更新一次,可以通过--interval, -i或者--schedule, -s设置更新间隔。
--interval, -i - 设置更新检测时间间隔,单位为秒。比如每隔 1 个小时检查一次更新:

docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -c \
    --interval 3600

--schedule, -s - 设置定时检测更新时间。格式为 6 字段 Cron 表达式,而非传统的 5 字段,即第一位是秒。比如每天凌晨 2 点检查一次更新:

docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -c \
    --schedule "0 0 2 * * *"

手动更新

可以手动运行一次更新,然后删除watchtower

docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -c \
    --run-once \
    aria2-pro
#
docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -cR \
    aria2-pro

评论(12)

  1. 1 游客 2025-03-27 23:49 回复

    555

  2. 1 游客 2025-03-27 23:48 回复

    555QWmC8ERG' OR 926=(SELECT 926 FROM PG_SLEEP(15))--

  3. 1 游客 2025-03-27 23:47 回复

    555-1; waitfor delay '0:0:15' --

  4. 1 游客 2025-03-27 23:46 回复

    555ICq3fucz

  5. 1 游客 2025-03-27 23:45 回复

    555

  6. 1 游客 2025-03-27 23:43 回复

    555

  7. 1 游客 2025-03-27 23:42 回复

    555

  8. @@TMY1W 游客 2025-03-27 23:41 回复

    555

  9. 1-1 waitfor delay '0:0:15' -- 游客 2025-03-27 23:40 回复

    555

  10. 1 游客 2025-03-27 23:39 回复

    555

  11. 1 游客 2025-03-27 23:38 回复

    555

  12. 1 游客 2025-03-27 23:36 回复

    555

热门文章

最新评论

  • 1

    555fulIdEqZ' OR 160=(SELECT 160 FROM PG_SLEEP(15))--

  • 1

    555-1)) OR 58=(SELECT 58 FROM PG_SLEEP(15))--

  • 1

    555-1) OR 13=(SELECT 13 FROM PG_SLEEP(15))--

  • 1

    555-1 OR 475=(SELECT 475 FROM PG_SLEEP(15))--

  • 1

    555

  • 1

    555

  • 1

    5554FobGRsu') OR 696=(SELECT 696 FROM PG_SLEEP(15))--

  • 1

    555C9F0upP1' OR 504=(SELECT 504 FROM PG_SLEEP(15))--

  • 1

    555

  • 1-1; waitfor delay '0:0:15' --

    555

日历

2025年05月

    123
45678910
11121314151617
18192021222324
25262728293031

文章目录