内容紹介
筆者は1年ほど前からDockerとJavaを使用してアプリケーションを作成しています。ある程度Dockerを使用してアプリケーションを作成していると、Dockerを使う時とDockerを使わない時では、アプリケーションの作り方が異なることに気づきました。
その後、PaaSサービスを提供しているHerokuが提唱している、モダンなウェブアプリケーションを開発する際に留意するポイントのTwelve-Factor Appの存在を知り、それまで私が作成してきたアプリケーションの作り方とTwelve-Factor Appの要点が酷似していた事に驚いたのを覚えています。コンテナありきでアプリケーションを作っていくと、同じアーキテクチャに収束していくのでしょう。
一方で、DockerとJavaを組み合わせてアプリケーションを作成するブログをなかなか見つけられなかったため、電子書籍としてまとめてみようと奮起して執筆に至っております。
本書では、DockerとJavaでアプリケーションを作成するときに気をつけるべき箇所について記述したつもりです。DockerとJavaを使用していますが、その他の言語でも考え方は適用できるでしょう。本書が皆さんのDockerライフに少しでも貢献できれば幸いです。
(「はじめに」より)
書誌情報
- 著者: 岩本次郎
- 発行日: 2014-10-06
- 最終更新日: 2014-12-26
- バージョン: 1.0.0
- ページ数: 87ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: 達人出版会
対象読者
著者について
岩本次郎
大手SIerに勤めており、設計からプログラミング・運用までを行うフルスタックエンジニア。プログラミング言語は主にJavaとJavaScriptをメインに扱う。数年前まではWebサービスをいくつか作成しており、代表作はAs Button GeneratorやBlur Highlight。ITmediaの「ひとりで作るネットサービス」にインタビューされたこともある。
目次
はじめに
- 動作環境について
- 本書の読者
- 本書の構成
- 本書のサンプルプログラム
- 本書に出てくる社名、製品名について
第1章 Docker概要
- 1.1 Dockerでできること
- 1.2 LinuxコンテナとVMの違い
- 1.3 Dockerの構成要素
第2章 Docker操作の基本
- 2.1 Dockerのインストール
- 2.2 dockerコマンド
- 2.3 Dockerfile
- 2.4 Dockerfileを書く際の注意点
第3章 Twelve-Factor App
- 3.1 Twelve-Factor Appとは
- 3.2 コードベース (Codebase)
- 3.3 依存関係 (Dependencies)
- 3.4 設定 (Config)
- 3.5 バッキングサービス (Backing Services)
- 3.6 ビルド、リリース、実行 (Build, release, run)
- 3.7 プロセス (Processes)
- 3.8 ポートバインディング (Port binding)
- 3.9 並行性 (Concurrency)
- 3.10 廃棄容易性 (Disposability)
- 3.11 開発/本番一致 (Dev/prod parity)
- 3.12 ログ (Logs)
- 3.13 管理プロセス (Admin processes)
- 3.14 まとめ
第4章 Dockerを使ってアプリケーションを作成する
- 4.1 使用するバージョン管理ツールを決める
- 4.2 依存関係の管理方法を決める
- 4.3 Tomcatをフォアグラウンドで動作させる
- 4.4 設定を環境変数から取得する
- 4.5 DBにアクセスする
- 4.6 SessionをCookieStoreに変更する
- 4.7 アプリケーションの起動
- 4.8 Dockerのイメージを作成する
- 4.9 コンテナを起動する
- 4.10 外部に公開する
- 4.11 Blue Green Deployment