Edited at

Docker HubでDockerfileを公開する(AUTOMATED BUILD)

More than 1 year has passed since last update.

Docker Hubへimageではなく、Dockerfileを公開する。


必要な環境

GitHub / BitBucket

※以下ではGitHubを利用しています。


手順


  1. GitHubへdockerfileをpush

  2. DockerHubでGitHubとリンク

  3. Build triggerキック

※1、2の順序は逆でも可

※リンク後のDockerfileのcommitは、自動的にフックされて、DockerHubでビルドが走る(手順3は不要)


1. GitHubへdockerfileをpush

sample dockerfile

local環境でdockerfileをbuildし、問題ないことを確認

docker build -t tomcat7 .

GitHubへpush


2. DockerHubでGitHubとリンク

DockerHub → ヘッダメニュー → Create → Create AutoMated Build 

GitHubレポジトリとリンクしていない場合は、リンクする。

公式URL


3. Build triggerキック

defalutでは、GitHub push triggerとなっているため、明示的にBuild Triggerをキックし、現状のdockerfileをビルドし、imageを公開する。

以下を参考にし、curlなどでHTTP POSTし、Build Triggerをキックする。

DockerHub → 2.でリンクしたレポジトリに移動 → Build Settings → Build Triggerエリア → show examples.

curl -H "Content-Type: application/json" --data '{"build": true}' -X POST https://registry.hub.docker.com/u/mirrored1976/docker-tomcat7/trigger/5f2bdd77-68c4-4613-934a-0dfaa0fcb53f/

build requestリンクを見るとbuild結果が確認できます。

サンプル画面


Docker Hubのサンプル

https://hub.docker.com/r/mirrored1976/docker-tomcat7/


 終わりに

GitHubへのpush済の場合、Build Triggerを明示的にキックしないと、build結果が確認できません。

私は、一瞬待ってしまいました。。。

Dockerfileがないと、ベースイメージ等々確認できず不便な為、今後はautomated buildを利用していきたいです。