成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何使用 Watchtower 自動更新正在運行的 Docker 容器

開源
Watchtower 是一款自由開源的應用,用來監控運行中的 Docker 容器,并且當它發現基礎鏡像被更改后,可以自動的更新容器。

使用 Watchtower 自動更新 Docker 容器基礎鏡像

對開發運維人員來說,保持 Docker 容器為最新版本是重要工作之一。手動更新 Docker 容器是一項耗時的工作。這篇文章解釋了 Watchtower 是什么,如何安裝它,以及在 Linux 中如何 使用 Watchtower 自動更新正在運行的 Docker 容器 。

Watchtower 是什么?

Watchtower 是一款自由開源的應用,用來監控運行中的 Docker 容器,并且當它發現基礎鏡像被更改后,可以自動的更新容器。

若 Watchtower 發現一個運行中的容器需要更新,它會以發送 SIGTERM 信號的方式,優雅的結束運行中容器的運行。

它會下載新鏡像,然后以最初部署時使用的方式,重啟容器。所有文件會在后臺自動下載,因此不需要用戶的介入。

在這份指南中,我們將會明白如何在類 Unix 系統中使用 Watchtower 自動更新正在運行的 Docker 容器。

我已經在 CentOS 和 Ubuntu 中測試了這份指南,所有的 Linux 發行版中操作過程都一樣。

在 Linux 中安裝 Watchtower

可以通過 Docker 鏡像的方式下載 Watchtower 。因此,部署它是小事一樁。在你的 Linux 中安裝 Docker 鏡像,然后運行 Watchtower 立即開始監控 Docker 容器。

參考下方指導在基于 PRM 和 DEB 包管理系統中安裝 Docker

安裝 Docker 后,你可以使用以下命令以 ??root?? 用戶身份部署 Watchtower 容器:

    # docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

如果你已經安裝了 Docker 桌面版,以普通用戶運行 Watchtower 容器。

    $ docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower

該命令會拉取最新版的 ??watchtower?? 鏡像,并運行 ??watchtower?? 容器。

輸出樣例:

    Unable to find image 'containrrr/watchtower:latest' locally
latest: Pulling from containrrr/watchtower
1045b2f97fda: Pull complete
35a104a262d3: Pull complete
1a0671483169: Pull complete
Digest: sha256:bbf9794a691b59ed2ed3089fec53844f14ada249ee5e372ff0e595b73f4e9ab3
Status: Downloaded newer image for containrrr/watchtower:latest
91c104ef0e9896e8cd5ff30d9f13e728dbfad66443830ec2ac85dde6d7d37564

Run Watchtower Docker Container

Run Watchtower Docker Container

使用 Watchtower 自動更新 Docker 容器

在你的系統上,Watchtower 正在和其他容器一起運行。你可以使用一下命令查看運行中的 Docker 容器列表:

    $ docker ps

輸出樣例:

    CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                         NAMES
91c104ef0e98 containrrr/watchtower "/watchtower" 14 minutes ago Up 14 minutes 8080/tcp watchtower
f90b462b0712 bitnami/wordpress-nginx:6 "/opt/bitnami/script…" 19 minutes ago Up 19 minutes 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp ostechnix-wordpress-1

正如上方輸出所示,??watchtower?? 容器正在和名為 ??ostechnix-wordpress-1?? 的容器一起運行。從現在開始,??watchtower?? 會每隔幾分鐘會檢查該容器。

如果 Watchtower 發現該容器的基礎鏡像的任何變化,它會優雅的關閉 ??ostechnix-wordpress-1?? 容器,然后使用與最初啟動它時使用的相同方式,啟動新的鏡像。

類似的,它會自動地每隔幾分鐘檢查所有的運行中容器,并自動更新它們。

Watchtower 如何更新多連接的容器?

在監視多連接容器時,Watchtower 十分智能。

假設我們現在運行兩個容器。

    $ docker ps

輸出樣例:

    CONTAINER ID   IMAGE                       COMMAND                  CREATED          STATUS          PORTS                                         NAMES
91c104ef0e98 containrrr/watchtower "/watchtower" 14 minutes ago Up 14 minutes 8080/tcp watchtower
f90b462b0712 bitnami/wordpress-nginx:6 "/opt/bitnami/script…" 19 minutes ago Up 19 minutes 0.0.0.0:80->8080/tcp, 0.0.0.0:443->8443/tcp ostechnix-wordpress-1
a895f082438a bitnami/mariadb:10.6 "/opt/bitnami/script…" 20 minutes ago Up 19 minutes 3306/tcp ostechnix-mariadb-1

View Running Docker Containers

View Running Docker Containers

正如你看到的,我們正在運行 ??ostechnix-wordpress-1?? 和 ??ostechnix-mariadb-1?? 這兩個容器。??ostechnix-mariadb-1?? 容器鏈接到 ??ostechnix-wordpress-1?? 容器。

如果 Watchtower 發現 ??ostechnix-wordpress-1?? 容器有個新版本,它會先關閉與之相連接的 ??ostechnix-mariadb-1?? 容器 ,然后才會關閉 ??ostechnix-wordpress-1?? 容器。

更新 ??ostechnix-wordpress-1?? 容器后,Watchtower 會以正確的順序,且與最初啟動它們時使用的相同方式,重啟這兩個容器,以便應用程序正確恢復。在我們的例子中,首先啟動的是 ??ostechnix-mariadb-1?? 容器,然后是 ??ostechnix-wordpress-1?? 容器,以確保連接能夠繼續運行。

監控特定容器

默認情況下,Watchtower 將監控在它所指向的 Docker 守護進程中運行的所有 Docker 容器。

不過,你可以像下面這樣,通過指定容器名稱限制 Watchtower 監視特定的 Docker 容器。

    $ docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower ostechnix-wordpress-1

在上方的例子中,??watchtower?? 會忽略其他容器,只監視名為 ??ostechnix-wordpress-1?? 的容器更新情況。

如果你不指定任何參數,Watchtower 會照常監視所有運行中的 Docker 容器。

發送提示

或許你想收到容器更新的通知。你可以通過電子郵件、Slack 、MSTeams 以及 Gotify 發送通知。

下面這個例子展示了如何通過電子郵件發送通知。假設你已經設置了 SMTP 服務器。

    docker run -d \
--name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
-e WATCHTOWER_NOTIFICATIONS=email \
-e WATCHTOWER_NOTIFICATION_EMAIL_FROM=fromaddress@gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_TO=toaddress@gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER=smtp.gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587 \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=fromaddress@gmail.com \
-e WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=app_password \
-e WATCHTOWER_NOTIFICATION_EMAIL_DELAY=2 \
containrrr/watchtower

參考下方 Watchtower Github 倉庫和 Watchtower 官方主頁獲取更多信息:

資料

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2020-08-17 10:10:34

DockerWatchtowerLinux

2014-04-14 16:59:37

Windows文件

2023-02-16 08:38:47

2018-08-14 17:00:17

Linux命令服務

2011-01-26 13:26:32

Linux進程

2018-03-19 11:50:00

LinuxCentOS yum命令行

2015-03-30 14:15:55

自動更新Android

2010-12-13 13:33:47

Windows 7驅動

2015-09-10 14:42:37

自動更新UpdateWindows 10

2019-09-10 08:13:33

LinuxCPU內存

2017-10-20 12:13:11

數據庫PostgreSQL時間戳

2021-11-08 22:24:04

Windows 10Windows微軟

2010-06-02 19:54:48

SVN自動更新

2024-01-31 14:56:18

WSLLinux

2015-09-15 15:25:36

更新配置Windows 10

2012-04-16 14:55:29

MacChrome

2010-05-24 11:27:20

SVN配置自動更新WE

2024-11-19 15:43:22

2023-10-30 18:00:00

Docker命令開源平臺

2016-01-11 10:29:36

Docker容器容器技術
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久99久久99精品免视看婷婷 | 国产精品久久久久久久久久久免费看 | 欧美jizzhd精品欧美巨大免费 | 一区二区三区在线播放视频 | 91在线第一页 | 国产a一区二区 | 日韩av一区二区在线 | 天天草视频| 亚洲欧洲中文 | 国产精品日韩高清伦字幕搜索 | 精品一区二区三区在线观看 | 亚洲精品日韩综合观看成人91 | 视频一区在线播放 | 欧美日韩国产高清 | www.久草 | 国产区精品视频 | 在线播放国产一区二区三区 | 国产欧美一区二区三区日本久久久 | 色综合色综合色综合 | 午夜视频在线视频 | 一区二区三区国产 | 国产精品一区二区不卡 | 伊人青青久久 | 久久lu| 国产亚洲一区二区三区在线观看 | 中文字幕加勒比 | 国产高清无av久久 | 盗摄精品av一区二区三区 | 日韩成人高清在线 | 91免费在线视频 | 欧美一区二区小视频 | av一二三区 | 久久久久久久久久久蜜桃 | 国产99热精品 | 亚洲成在线观看 | 国产精品视频网 | 99精品网 | 欧美激情精品久久久久久变态 | 午夜男人免费视频 | 久久久久久国模大尺度人体 | 91国内外精品自在线播放 |