WINGSプロジェクト 阿佐 志保(著) , 山田 祥寛(監修)
※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。
従来、システム開発のプログラマは、顧客の業務要件を理解し、要件に応じた設計を行ない、プログラミング言語を使ってシステムを実装し、仕様通りの機能を持つかをテストすることが主なミッションでした。今日ではそれに加えて、構成管理ツールを使って、開発したシステムの実行環境のプロビジョニングなどを行なうケースも増え、ネットワーク設計やOSの導入、システム/データベースサーバなどのミドルウェアの設定やセキュリティといったインフラ構築の知識が求められています。
本書は、Linuxのコンテナ仮想化ツールであるDockerを使って、コードでインフラ環境を構築するための入門書です。開発環境や実行環境などインフラ構築「自動化」の経験がない開発者を対象に、おさえておきたいシステム基盤&インフラの基礎知識に加えて、Dockerによるインフラ構築と管理の方法をやさしく解説します。理解しにくいネットワークや仮想技術などのインフラの基礎概念を図解しながら、開発/実行環境を実際に構築することで、構成管理ツールを使ったインフラ構築の流れを解説していきます。
・おさえておきたいシステム/インフラの知識
・コンテナ仮想化技術とDocker
・Dockerのインストールと基本コマンド
・Dockerfileを使ったコードによるサーバ構築
・Dockerイメージの共有─Docker Registry
・複数コンテナの一元管理─Docker Compose
・マルチホスト環境でのDocker運用─Docker Machine、Docker Swarm
・クラウドでのDocker運用
■第1部 導入編
第1章 おさえておきたいシステム/インフラの知識
1-1 システム基盤の基礎知識
1-2 ネットワーク/ハードウェアの基礎知識
1-3 OS(Linux)の基礎知識
1-4 ミドルウェアの基礎知識
1-5 インフラ構成管理の基礎知識
第2章 コンテナ仮想化技術とDocker
2-1 仮想化技術
2-2 コンテナ仮想化技術の歴史
2-3 Dockerの特徴
2-4 Dockerの基本機能
2-5 Dockerが動く仕組み
■第2部 基本編
第3章 Dockerのインストールと基本コマンド
3-1 Dockerのインストールと動作確認
3-2 Dockerイメージの操作
3-3 Dockerコンテナの生成/起動/停止
3-4 稼働しているDockerコンテナの操作
3-5 Dockerの情報確認
3-6 コンテナからイメージの作成
第4章 Dockerfileを使ったコードによるサーバ構築
4-1 Dockerfileの基本
4-2 コマンド/デーモンの実行
4-3 環境/ネットワークの設定
4-4 ファイルシステムの設定
4-5 Dockerイメージの自動生成/公開
第5章 Docker イメージの共有――Docker Registry
5-1 プライベートレジストリの構築/管理
5-2 Amazon S3を使ったイメージ共有
■第3部 応用編
第6章 複数コンテナの一元管理――Docker Compose
6-1 DockerによるWebシステム構築の基礎知識
6-2 Docker Composeのインストール
6-3 構成ファイル(docker-compose.yml)の構文
6-4 Docker Composeコマンド
6-5 Docker Composeを使ったWordPressシステム構築
第7章 マルチホスト環境でのDocker運用――Docker Machine、Docker Swarm
7-1 マルチホスト環境でのコンテナ運用
7-2 Docker Machineコマンド
7-3 Docker MachineによるDocker実行環境構築
7-4 Docker Swarmによるクラスタ管理
7-5 SaaSによるコンテナ監視
第8章 クラウドでのDocker 運用
8-1 クラウド環境でのDockerサポート
8-2 Amazon EC2 Container ServiceでのDocker実行環境構築
▼用語 目次
事業継続計画
参照実装
リレーショナルデータベース
NoSQL
パラメータシート
オーバーヘッド
パッケージ管理システム
HTTP Last-Modifiedヘッダ
ボリューム/マウント
Bitbucket
YAML
BusyBox
SCP
ヘルスチェック
▼HINT 目次
ファイアウォールの構築
ルータの導入
BIOS設定
Dockerイメージの命名規則
▼note 目次
クラウドサービスのオートスケール機能
シェルの種類
Linuxカーネルの正体「vmlinuz」の名前の由来
システム運用設計の難しさ
コンテナの統一仕様を進める「Open Container Project」
Dockerイメージの改ざん防止機能
NATとNAPTの違い
Dockerのオープンソース開発
Mac OSへのDockerのインストール
イメージのなりすましや改ざんを防ぐには
プロンプト
Linuxコマンドは覚えないとダメ?
ウェルノウンポートについて
export/importとsave/loadの違い
中間イメージの再利用
Docker Hubはどんどん肥大化しない?
イメージのレイヤーの制限
コンテナ実行時にコマンド引数を任意に指定したいときは
ONBUILD命令を使ったチーム開発の進め方
ビルドに不必要なファイルの除外
Dockerfileの格納場所
時刻合わせのプロトコルNTPとは
GitとGitHub
ディザスタリカバリシステム
Amazon Web Services
Dockerを開発環境で利用する
コンテナで永続データを扱うときの注意点
ドメインネームについて
docker-compose.ymlをGUIで作成できるWebサイト
Linuxのシグナル
FigとDocker Compose
Raspberry Piで動かすDocker
冗長化構成の種類
Docker Swarmのホスト決定方式
Dockerの運用ツールあれこれ
運用監視ツールのグラフ表示機能
コンテナ構成図を表示できる「Weave Scope」
eijit さん
2017-10-16
人が作った dockerfile を見ながら、わからない部分をその度に調べて使っていた状況だったが、本書で背景知識が整理されて、断片化されていた知識がデフラグされた。アプリケーションなどの機能ごとに独立した immutable なコンテナを利用して、データは専用コンテナまたはホスト側に保存という運用がよさそう。
kanikani2929 さん
2017-06-17
書籍名通り教科書的な本。 概要については説明されていたが、実践的な部分の解説が薄かったので類書を読んで、実際にDockerを使って開発できるようになりたい。
yo7 さん
2017-05-06
頭から最後まで読む本ではない気がする。前半の必要な知識やコマンドについて読んであとはリファレンス的に扱う。 kindle版は固定レイアウトで読みやすいものではないので残念。