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

Published: 2016年3月27日 by tomsato

■ 概要

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を修正すれば自分好みの開発環境を作成することができるようになる

■ 参考

Docker

Share

最近の投稿

概要はじめに2019年4月から新しいチームに配属されることになって、そこではScalaとPHPを使い分けて開発をおこなっていました4月5月では主に保守運用周り、並びにPHPでの開発を行いつつ、Scalaに慣れるために小さい修正を細々とおこなっていて、6月からついに本格的にScala開発に着手することになりました。レガシーな技術から新しい技術に乗り換えるということで、その中で開発言語はどうする......

概要https://storybook.js.org/StorybookとはUI開発環境を提供するツールReact、React Native、Angular、VueなどをサポートしているStorybookを使うとユーザーは独立した開発環境でコンポーネントを個別に作成して挙動の確認をテストできたり、コンポーネントを一覧にしてカタログ化できるので他の人に紹介する時に使えたりする公式のサンプル集h......

概要フロントエンド開発における状態管理、データフローがなんで重要なのか、Fluxとは何かなど主にVue.js目線ですが忘備録的にまとめますデータフローの設計・状態管理についてアプリケーションの規模が大きくなるに連れて状態管理が重要となってくる状態とはアプリケーションが保持するデータのことで例えばECサイトのカートなど、最初は空の状態から始まり商品をカートに入れることによってカートの中身が増え......

概要前にDoxygenの入門についてまとめたが実際にサンプルを見た方が理解が早いかと思うのでサンプルを作ってみる Doxygen入門の入門 ↑前に書いた記事、そっちでは Doxygenについての簡単な説明 導入方法 書き方などを書いた今回は、まずサンプルを見て理解をしたい人向けにサンプルのアプリケーションをGitHubに用意して、ドキュメントもGitHub Pagesで見ら......

概要1クリックでHTML要素の構造を可視化し、セマンティック要素が正しく実装されているか検証できる -Trashy.cssというのがあって気になったので使ってみるTrashy.cssを使うとHTMLの構造が可視化されるのでheader,nav,main,article,selction,footerなどの要素が正しく実装されているかを確認することができる{% include google-a......

カテゴリ一覧

データベース 運用 その他 開発 設計 テスト 言語 アルゴリズム 未分類 クラウドサービス AI イラスト デザイン SNS

タグ一覧

MySQL Oracle Linux 資格 テスト CI Jenkins 入門の入門 Perl API その他 Fabric PHP PHPUnit Ruby JavaScript YAML CircleCI C言語 Docker フレームワーク Selenium Fluentd ab Vim React Vagrant Cinnamon 監視ツール postfix HTML Google Cloud Platform Codeception Watson Node-RED LINE Vue.js 入門の次 PCF Vegeta Azure Firebase モジロイ Sass クリーンアーキテクチャ CSS twitter Flexbox 筋トレ ドキュメント Vue Scala