Docker Hubを使ってGitHubにあるDockerfileからimageを自動生成する

■ 目次

  1. 概要
  2. イメージ
  3. DockerHubを使ってみる
    1. 事前準備
    2. DockerHubとGitHubを連携
    3. Dockerfileの作成
  4. 参考

■ 概要

Docker入門の入門
Dockerコマンドを学ぶ
これまでDockerの概要と使い方について学んできましたが、今回はDockerHubとGitHubを連携してGitHubにあるDockerfileから自動でDockerHubリポジトリにimageを追加するやり方を学びます

続き → 個人開発環境作成のためのDockerfileメモ

■ イメージ

docker05

  1. ユーザーがDockerfileをGitHubにPushする
  2. Dockerfileからimageを自動で作成する
    1. 前提としてDockerHubの登録が済んでいてDockerHubとGitHubの連携ができている必要がある
  3. 作成されたimageはDockerHubリポジトリに追加される
    1. 違うユーザ、違うサーバで使いまわすことができる

Dockerコマンドを使用してDockerHubにPushすることもできるがGitHubでソースを管理しつつ自動でimageが作成されるのでコスト削減もできるし、「Infrastructure as Code」を実現することができる

■ DockerHubを使ってみる

事前準備

  • DockerHubと連携させるリポジトリの作成
    • 今回はtomsato/dockerhub-testを作成
  • DockerHub登録
    • https://hub.docker.com/ から

DockerHubとGitHubを連携

https://hub.docker.com/ から

上段のメニューバー「Create」->「Create Automated Build」から連携する

dockerhub01

連携した後、再度「Create Automated Build」を見てリポジトリの選択ができるので先ほど作成したリポジトリを選択する

https://hub.docker.com/r/{account}/{repository}/ で設定の確認ができる

dockerhub02

Dockerfileの作成

作成したリポジトリのトップディレクトリにDockerfileを作成する

$ cat Dockerfile
# どのイメージを使うか
FROM centos:6.7

# 作成者
MAINTAINER tomsato

# ビルドする時に実行される 
RUN yum -y groupinstall "Development tools"

このDockerfileをプッシュするとDockerHubで自動でビルドが走る
上記の記述では5分後ぐらいにビルドが終わる(遅い)

dockerhub03

Successになった場合docker pullによってDockerHubからimageを取得できるようになる

$ sudo docker pull {image name}
$ sudo docker pull tomsato/dockerhub-test

Dockerfileを修正すれば自分好みの開発環境を作成することができるようになる

■ 参考


Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です