Docker HubのAutomated Build

Dockerはイメージ取得レジストリのデフォルトに Docker Hubを利用しています。Docker Hubサービス上でビルドできる Automated Build 機能を利用すると、Dockerfileのビルド過程が掲載され、来歴がクリアになります。

ただし、共有を前提とするサービスであるため、Docker Hubに置くイメージにはアカウント情報などの機密情報が含まれていないことは念入りに確認する必要があります。

Dockerのビルドはレイヤ構造になっているため、中間的なベースイメージをDocker Hubに置いておくことも有効です。

複数のプロジェクトで横断的に利用するパッケージを含むイメージを作成し、各アプリケーション向けの最終的なイメージはクローズドな環境でビルドする、というフローをとれます。

Automated Buildの設定手順

必要なものは以下のとおりです。

  • DockerHubのアカウント
  • GitHubまたはBitBucketのアカウント

まず、個別のイメージ作成を始める前にアカウントの連携が必要です。

  1. DockerHubにログインし、Settings -> Linked Accounts & ServicesタブでGitHubのアカウント情報を登録

各イメージのビルド設定手順は以下のような手順です。

  1. GitHubに新規リポジトリを作成
  2. ローカルに作成したリポジトリをgit clone
  3. Dockerfileそのほかイメージビルドに必要なファイルをコミットしてgit push
  4. DockerHubのCreate -> Create Automated Build からAutomated Buildのイメージを設定。Create Repositoryを選んでしまうと非Automated Buildのイメージになる
  5. Dockerイメージにshort description(説明文)を追記して作成完了。DockerHub上のイメージ名も編集可能
  6. GitHub上のDockerfileリポジトリが更新されると自動ビルドされる設定になっている。初回は Build-Settings の Trigger ボタンで手動ビルドする。
  7. ビルドの結果は Build Details にリストされる。各行をクリックすると実行ログを確認可能
中馬崇尋
Chuma Takahiro