Dockerによるアプリケーション開発環境構築ガイド
内容紹介
手を動かしながらわかる、Dockerの基本から現場で使えるテクニックまで
仮想化技術の一つであるDockerの使い方の解説書。
主にDocker初心者から中級者の方に向けて、Dockerの概念や基本から、実際にどのように現場で使えるのかまで、解説していきます。実際に現場で使っていそうな環境を想定して、そこに対してどのようにDockerを使っていけるのかを、具体的な例に沿って、実際に手を動かしながら、習得することができます。
Chapter01:Dockerとは
Dockerの概念について、簡単に解説しています。
Chapter02:Dockerの基本的な使い方
Dockerのインストールから基本的なDockerコマンド、Dockerイメージの作成などを解説します。Dockerイメージを管理できるDocker Hubや複数のDockerイメージを使ってサービスを構成するDocker Composeについても解説します。
Chapter03:オンプレの構成をコピーしたDocker環境を作成する
オンプレミスサーバーで動作している複数のサービスの構成を、そのまま1つのDockerコンテナで動かす構成例を紹介します。
Chapter04:本番環境からローカルのDocker環境にポーティングする
AWS (Amazon Web Services)やGCP (Google Cloud Platform)などのクラウドサービス上に構築した環境を、Webアプリケーションサーバーだけではなくその他関連するサービス(データベース等)も含めDocker化し、完全にローカルな開発環境を作成する方法について説明します。ローカルな開発環境を全てDockerで作成することにより、ローカル上で作成したDockerイメージと同じ環境が本番環境でも利用できるなどのメリットがあります。
Chapter05:ローカルのDocker環境を本番環境にデプロイする
最初からローカル環境でDockerを使って開発環境を作り、それを本番のクラウド環境に対してデプロイするような流れでサービスを作成していくケースを取り上げ、解説します。Dockerに公式サポートされたKubernetesを使ってローカルの開発環境と本番環境を作っていきます。
Chapter06:Appendix
これまでの章で説明を省略したり、記載しきれなかったTIPSを紹介します。ログ機能、Dockerfileのデバッグ方法、継続的インテグレーションサービスによるイメージの自動ビルド、Docker in Docker、プロキシの設定などを解説しています。
本書を使って、一人でも多くの読者の方にDockerの概念と利用法が伝わり、実際の業務などに役立ててもらえれば幸いです。
続きを読む
充実のラインナップに加え、割引セールも定期的に実施中!
商品を選択する
フォーマット | 価格 | 備考 | |
---|---|---|---|
書籍 | 4,180円 | ||
4,180円 | ※ご購入後、「マイページ」からファイルをダウンロードしてください。 ※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。 ※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。 |
||
EPUB | 4,180円 | ※ご購入後、「マイページ」からファイルをダウンロードしてください。 ※当商品はリフロー型のEPUBです。EPUBに対応したリーダーを使用してご閲覧ください。 ※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。 ※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。 ※閲覧方法は「電子書籍フォーマットについて」をご参照ください。 |
備考
●櫻井 洋一郎(さくらい よういちろう)
Retty株式会社 エンジニア
東京大学大学院 情報理工学系研究科 創造情報学専攻2007年卒。
NECの開発部門に7年間勤務。仕事の傍ら個人でサービスを開発し、過去に多数のWebサービス、アプリを開発。その後Retty株式会社の創業期にJoinし2度のiOSアプリリニューアルを遂行。iOS開発以外にもサーバサイド開発、DockerとKubernetesを使った社内開発環境の構築など幅広い業務を行う。
また業務の傍らtry! Swift Tokyoでオーガナイザを務めるなどコミュニティ活動も行っている。
●村崎 大輔(むらさき だいすけ)
2016年よりフリーランスエンジニア。博士(情報理工学)。
Web系のスタートアップ企業を中心に開発支援とコンサルティングを手がける。情報工学の見識と高い適応力が強み。
「新技術は食わず嫌いしない」がモットー。
目次
Chapter01 Dockerとは1-1 本書の目的
1-1-1 本書で想定しているユーザー
1-2 Dockerとは
1-2-1 コンテナ型の仮想化
1-2-2 イメージを用いたimmutable infrastructure
1-2-3 Dockerと関連したサービスやアプリケーション
1-3 Kubernetesとは
1-3-1 オーケストレーション
1-3-2 Kubernetesを使うメリット
1-4 Dockerイメージをビルドしてみよう
1-4-1 イメージのビルドで得られるメリット
1-4-2 現場で想定される課題
1-5 2章以降を読み進めるにあたって
1-5-1 想定しているPC環境
1-5-2 周辺知識について
Chapter02 Dockerの基本的な使い方
2-1 Dockerのインストール
2-1-1 Dockerのインストール(Linux)
2-1-2 Dockerのインストール(Windows)
2-1-3 Dockerのインストール(Mac)
2-2 Dockerの基本的なコマンド
2-2-1 Dockerのコマンド一覧とその意味
2-2-2 Dockerコマンドのシーンごとの利用例
2-3 DockerfileでオリジナルのDockerイメージを作成する
2-3-1 Dockerfileとは
2-3-2 Dockerfileで使えるコマンド
2-3-3 Dockerfileで使えるコマンドの詳細
2-3-4 Dockerfileからイメージを作成する
2-3-5 Dockerイメージのレイヤーとキャッシュについて
2-4 作成したDockerイメージをレジストリで共有する
2-4-1 Docker Hub
2-5 Docker Composeで複数コンテナをまとめて管理する
2-5-1 docker-composeとは
2-5-2 docker-composeのインストール
2-5-3 docker-composeコマンド一覧とその意味
2-5-4 docker-composeでWordPress環境を構築する
Chapter03 オンプレの構成をコピーしたDocker環境を作成する
3-1 サーバーの環境一式を全部入りコンテナに移行する
3-1-1 コンテナで複数のプロセスを動かす場合の注意
3-1-2 Baseimage-dockerについて
3-2 Baseimage-dockerを使ってみる
3-2-1 イメージをpullする
3-2-2 コンテナを実行する
3-2-3 コンテナ内部で動作しているサービスを制御する
3-2-4 コンテナ内部で新しいサービスを動かしてみる
3-3 Dockerイメージを構築する
3-3-1 イメージのビルドに必要なリソースやスクリプトを用意する
3-3-2 必要なパッケージがインストールされるようにする(プロビジョニング)
3-3-3 インストールしたサービスの動作確認
3-3-4 必要なサービスが自動で立ち上がるようにする
3-3-5 アプリケーションがデプロイされた状態にする
3-3-6 データベースと設定ファイルを用意する
3-3-7 コンテナへSSHログインできるようにする
Chapter04 本番環境からローカルのDocker環境にポーティングする
4-1 AWSを利用したサービスをローカル環境上にDockerで構築する
4-1-1 機能要件およびデータ構造、システム要件、構成図
4-1-2 AWSアカウントを新規作成する
4-1-3 Webアプリケーションサーバーの作成
4-1-4 データベースサーバーの作成
4-1-5 セキュリティグループの設定
4-1-6 キャッシュサーバーの作成
4-1-7 ファイルストレージの作成
4-1-8 アプリケーションコードの作成
4-2 クラウドに構築した環境をローカルの開発環境にポーティングする
4-2-1 Dockerによるデータベースサーバーの構築
4-2-2 Dockerによるキャッシュサーバーの構築
4-2-3 Dockerによるファイルサーバーの構築
4-2-4 Dockerによるアプリケーションサーバーの構築
Chapter05 ローカルのDocker環境を本番環境にデプロイする
5-1 Kubernetesとは
5-2 Kubernetesの概念
5-2-1 Pod
5-2-2 Deployment
5-2-3 Service
5-2-4 Volume
5-2-5 ConfigMap
5-2-6 Secret
5-2-7 Ingress
5-2-8 Namespace
5-3 minikubeで始めるKubernetes
5-3-1 minikubeのインストールとQuick Start
5-3-2 minikubeで4章で作成した環境をローカルに作成
5-4 Google Cloud Platform(GCP)を使う
5-4-1 GCPとは?
5-4-2 Googleアカウントの作成とGCPアカウントの作成
5-4-3 Google Container Engine(GKE)の環境を作ろう
5-5 GCP上に4章で作ったアプリケーションをデプロイしよう
5-5-1 Single Node File Serverの環境を作成する
5-5-2 GKEのKubernetesにアプリケーションをデプロイする
Chapter06 Appendix
6-1 ログ機能
6-1-1 volumeマウント機能で外部ストレージに保存する
6-1-2 外部サービスにログを送信する
6-2 複数コンテナがある場合のkubectl execについて
6-3 Dockerfileのデバッグ方法
6-4 継続的インテグレーションサービスによるイメージの自動ビルド
6-4-1 CircleCI
6-5 Docker in Docker
6-6 Dockerホストの容量が少なくなってきたとき
6-6-1 TAGがnoneのものを全て削除
6-6-2 リンク切れボリュームの一括削除
6-6-3 終了済みコンテナの一括削除
6-7 プロキシの設定について
6-7-1 Dockerデーモン側の設定
6-7-2 コンテナ環境のプロキシ設定