Docker Hubの使い方とGitHubからのDockerイメージ自動ビルドいまさら聞けないDocker入門(終)(2/2 ページ)

» 2014年08月26日 18時00分 公開
[大瀧隆太,クラスメソッド株式会社]
前のページへ 1|2       

Docker Hub Automated Buildを利用したGitHubからのDockerイメージ自動ビルド

 Dockerイメージを共有するもう一つの方法として、Docker Hubの「Automated Build」機能があります。Automated BuildはDockerイメージの元となるDockerfileをDocker Hubのビルドクラスターに読み込ませ、Dockerイメージを作成、Docker Hubリポジトリで公開する仕組みです。

 Dockerfileをビルドクラスターに読み込ませるためには、事前にDockerfileを含むGitHubもしくはBitbucketのリポジトリとDocker Hubとの連携設定が必要です。今回はGitHubで試してみます。GitHubのサインアップ、リポジトリの作成は省略します。

GitHubリポジトリの準備

 Automated Buildを利用するためには、GitHubリポジトリ内に、作成したいDockerイメージのDockerfileを作成しておきます。その他のファイル、ディレクトリには特に依存しないため、既存のGitHubリポジトリにDockerfileを追加してAutomated Buildに対応させるという使い方も可能です。

Docker Hub Automated Buildの作成

 ここからは、Docker HubのWeb画面で操作していきます。リポジトリ一覧画面右側にある[+ Add Repository]ボタンから[Automated Build]をクリックします。

 連携するサービスを選択します。今回はGitHubを利用するので、GitHubの[Select]ボタンをクリックします。

 Docker HubからGitHubへアクセスを許可する項目を選択します。今回はAutomated Buildの利用に必要な[Public and Private]の[Select]ボタンを選択します。

 GitHubの認証画面に切り替わります。連携させるGitHubアカウントのユーザー名、パスワードを入力し、[Sign in]をクリックします。

 GitHubのアプリケーション認証画面が表示されます。「Repositries」へのアクセスが許可になっていることを確認し、[Authorize application]ボタンをクリックします。

 Docker Hubの画面に自動的に戻り、GitHubリポジトリの一覧が表示されます。Automated Buildの対象とするGitHubリポジトリを確認し、[Select]ボタンをクリックします。

 続いて、Automated Buildで作成するDockerイメージ(リポジトリ)名とGitHubリポジトリからDockerfileを取り出す「git clone」相当の設定を入力します。DockerfileをGitHubリポジトリのルート以外に配置している場合は、[Dockerfile Location]を配置したディレクトリに変更する必要があります。

 [Create Repository]をボタンをクリックすると、Automated Build設定が作成されます。

GitHubからのDockerイメージ自動ビルド

 設定が完了したら早速初回のビルドが実行されます。完了ページの[build details]リンクから、リポジトリのビルド状況を確認します。

 「Builds History」にビルド履歴がリストされ、[Status]列に現在の状況が表示されます。「Building」の場合はビルドクラスターでDockerコンテナーが実行中です。

 しばらく待ち、「Finished」になればビルドが完了し、Dockerイメージが登録済みです。画面右上のように、「docker pull {ユーザー名}/{イメージ名}」でダウンロード可能です。「Error」になった場合はビルドに失敗していますので、[build Id]列のIDのリンクをクリックし、ビルドログを確認しましょう。

 再度ビルドするときは、画面右上の[Start a Build]でビルドが開始します。

Tips「Build Triggerを使ったDockerイメージの自動ビルド」

 Automated Buildの「Build Trigger」という仕組みを利用すると、GitHubのWebhookと連携してGitHubリポジトリが更新されると自動でDockerイメージのビルドを実行できます。Docker Hubリポジトリの画面右側の[Settings]にある「Build Trigger」から設定します。

 詳しい手順は以下を参照ください。

Dockerの世界が広がる機能を活用してみよう

 今回は、Dockerイメージをシェアするための方法として、「docker push」コマンドと「Docker Hub Automated Build」を紹介しました。自分専用のプライベートな使い方も良し、ソフトウェアを公開するためのパブリックな使い方もよし、Dockerの世界が広がるこれらの機能をぜひ活用してください。

 なお、本シリーズは今回が最終回となります。Dockerの進化は速いので、これからも新しい機能がどんどん登場すると思いますが、Dockerの基本機能を紹介した本シリーズが皆さんのDocker活用に末永く役立つことを願ってやみません。短い間でしたがお付き合いいただきありがとうございました!

著者プロフィール

大瀧隆太

大瀧隆太

所属/職種:クラスメソッド株式会社 シニアソリューションアーキテクト

ビール片手に邦楽ロックバンドのライブ/フェスへの参加をこよなく愛する。業務ではAWS導入支援やAWS研修の講師に携わる一方、自動化/デプロイツールの活用でクラウドエンジニアがどこまでスケールできるのか日々試行錯誤している。

ブログURL:http://dev.classmethod.jp/


前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。