1. 程式人生 > >Docker 產品手冊之 Docker Hub

Docker 產品手冊之 Docker Hub

原文地址

如果你在 Docker Hub 上有自動構建倉庫,可以在倉庫中發生某個事件時通過 Webhook 觸發其他應用程式的動作。Docker Hub webhook 在映象構建時,或者新增新標籤到自動構建倉庫時觸發。

https://hub.docker.com/r/<USERNAME>/<REPOSITORY>/~/settings/webhooks/ 配置 webhook。

webhooks

通過 webhook,你可以指定一個目標 URL 用於 POST。Docker Hub 向指定的 URL 傳送的 POST 資料如下:

{
  "callback_url": "https://registry.hub.docker.com/u/svendowideit/testhook/hook/2141b5bi5i5b02bec211i4eeih0242eg11000a/"
, "push_data": { "images": [ "27d47432a69bca5f2700e4dff7de0388ed65f9d3fb1ec645e2bc24c223dc1cc3", "51a9c7c1f8bb2fa19bcd09789a34e63f35abb80044bc10196e304f6634cc582c", "..." ], "pushed_at": 1.417566161e+09, "pusher": "trustedbuilder", "tag": "latest" }, "repository
": { "comment_count": "0", "date_created": 1.417494799e+09, "description": "", "dockerfile": "#\n# BUILD\u0009\u0009docker build -t svendowideit/apt-cacher .\n# RUN\u0009\u0009docker run -d -p 3142:3142 -name apt-cacher-run apt-cacher\n#\n# and then you can run containers with:\n# \u0009\u0009docker run -t -i -rm -e http_proxy http://192.168.1.2:3142/ debian bash\n#\nFROM\u0009\u0009ubuntu\n\n\nVOLUME\u0009\u0009[\/var/cache/apt-cacher-ng\]\nRUN\u0009\u0009apt-get update ; apt-get install -yq apt-cacher-ng\n\nEXPOSE \u0009\u00093142\nCMD\u0009\u0009chmod 777 /var/cache/apt-cacher-ng ; /etc/init.d/apt-cacher-ng start ; tail -f /var/log/apt-cacher-ng/*\n"
, "full_description": "Docker Hub based automated build from a GitHub repo", "is_official": false, "is_private": true, "is_trusted": true, "name": "testhook", "namespace": "svendowideit", "owner": "svendowideit", "repo_name": "svendowideit/testhook", "repo_url": "https://registry.hub.docker.com/u/svendowideit/testhook/", "star_count": 0, "status": "Active" }
}

注意:如果要測試你的 webhook,建議使用類似 requestb.in這樣的工具。同時,Docker Hub 伺服器無法用 IP 地址過濾。