SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Dockerをつかったイマドキのアプリ開発環境構築入門

Dockerで継続的インテグレーションツール「Jenkins」を動かしてみよう

Dockerをつかったイマドキのアプリ開発環境構築入門 第1回

  • このエントリーをはてなブックマークに追加

 本連載は、コンテナ仮想化技術を使ったアプリケーション実行環境構築プラットフォームである「Docker」をつかって、ソースコードのバージョン管理ツールや継続的インテグレーションツールなどの開発支援ツールの導入を行う手順をご紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 開発環境の構築や開発支援ツールの導入は、チーム開発には欠かせない工程になりますが、業務アプリケーション開発やテストなどと異なり、プロダクトの機能性や品質を直接的に高めるものではないため、なるべくインフラ構築・運用の作業を省力化したいものです。

 また、開発支援ツールの多くは、開発のピーク時は開発メンバーが増員され高負荷となるものの、システムリリース後は保守などでの利用が中心になります。Dockerはコンテナ仮想化技術を使ったアプリケーション実行環境構築/運用プラットフォームです。インフラ環境も含めたアプリケーションの実行環境をすべてまとめて「コンテナ」でパッケージングできます。そこで、Dockerを導入して、開発環境のポータビリティを高めておけば、開発者の利用状況に応じた環境で効率よくインフラを運用できます。

 そこで本連載では、アプリケーション開発の現場でよく利用されている次の開発支援ツールの実行環境を、Dockerをつかって短期間で構築する手順を説明します。

  • 継続的インテグレーションツール「Jenkins」
  • アプリケーション開発支援ツール「GitLab」
  • プロジェクト管理ツール「Redmine」
  • 社内チャットツール「Lets’ Chat」

 なお、Dockerの概要およびDockerコマンド/Dockerfileの詳細については、以下の連載を参照してください。

対象読者

 本記事は、次の方を対象にしています。

  • ネットワークやLinuxの基礎知識がある方
  • Dockerの概要を知っている方
  • オンプレミスサーバ(物理サーバ)にLinuxのインストールができる方
  • Amazon Web ServicesのEC2を利用したことがある方
  • Webシステムをチームで開発している方
  • Dockerをチーム開発に導入してみたい方

Docker実行環境の構築

 まず、開発支援ツールを導入するためのLinuxサーバを用意します。ハードウエアが用意出来る場合はオンプレミス環境で、Linuxサーバを導入するか、各種クラウドサービスのIaaSを利用します。本連載では、オンプレミス環境の物理サーバにLinuxディストリビューションである「Fedora 22」を使ってDocker実行環境を構築する手順と、Amazon Web Servicesが提供する仮想クラウドサーバ機能である「Amazon Elastic Compute Cloud(EC2)」を使ってDocker実行環境を構築する手順の2つを説明します。

オンプレミスサーバの「Fedora 22」でのDocker実行環境構築

 Fedora(フェドラ)は、RedHat社が支援する「Fedora Project」によって開発されている、オープンソースのLinuxディストリビューションです。商用Linuxである「Red Hat Enterprise Linux」と同じRHEL系ディストリビューションで、パッケージ管理システムにYumを採用しています。

 Dockerは、次のバージョンをサポートしています。

  • Fedora 20
  • Fedora 21
  • Fedora 22

 オンプレミスサーバに、Fedoraをインストール/セットアップし、インターネット上のDocker Hubにアクセスできるよう、環境に合わせてネットワークを構成します。なおDockerは、64bitプラットフォームのみサポートされています。32bitプラットフォームの環境にはインストールできません。

 Fedoraが起動したら、ターミナルコンソールを起動します。

 次のコマンドを実行し、yumをアップデートした後、Dockerをインストールするスクリプトを実行します。インストールは、root権限で行ってください。

リスト1 Dockerのインストール
# yum update -y
# curl -sSL https://get.docker.com/ | sh

 インストールが完了したら、次のコマンドでDockerを起動します

リスト2 Dockerの起動
# sudo systemctl start docker

 次に、複数のDockerコンテナを一括できるツールである「Docker Compose」をインストールします。Docker Composeは、ホスト上のDockerコンテナをまとめて作成したり停止したりできるツールで、Docker社が提供しています。Dockerコンテナの構成情報をdocker-compose.yamlというファイルに記述します(今回のJenkins構築では、DockerComposeは利用しません)。

 Docker Composeは以下のようにGitHubで配布されています。執筆時の最新バージョンは1.5.1です。

DockerComposeの概要
DockerComposeの概要

 次のコマンドでDocker Composeをインストールし、実行権限を設定します。

リスト3 Dockerのインストール
$ sudo su
# curl -L https://github.com/docker/compose/releases/download/1.5.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose

 これで、DockerおよびDocker Composeのインストールが完了しました。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
Amazon EC2の「Amazon Linux AMI」でのDocker実行環境構築

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Dockerをつかったイマドキのアプリ開発環境構築入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLDB/PEAR/Smarty)」「独習シリーズ(ASP.NET/PHP)」「10日でおぼえる入門教室シリーズ(ASP.NET/PHP/Jakarta/JSP&サーブレット/XML)」「Pocket詳解辞典シリーズ(ASP.NET/PHP/Perl&CGI)」「今日からつかえるシリーズ(PHP/JSP&サーブレット/XML/ASP)」「書き込み式 SQLのドリル」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 阿佐 志保(アサ シホ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9103 2015/12/02 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング