WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム Q&A掲示板 サーバサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 その他


プログラマのためのDocker教科書―インフラの基礎知識&コードによる環境構築の自動化   サポート終了

プログラマのためのDocker教科書―インフラの基礎知識&コードによる環境構築の自動化

WINGSプロジェクト 阿佐志保/著
山田祥寛/監修
株式会社 翔泳社/発行
定価 3,000円(+税)
B5変版・ 312ページ・ 1色
ISBN 978-4-7981-4102-2
発刊日: 2015年11月19日

[Amazon.co.jpからオンライン購入する]

   FAQ 本書訂正 アンケート 出版社サイト

本書の特徴

コードでインフラ環境を構築するための入門書

インフラ構築「自動化」の経験がない、開発者を対象に、基礎からきっちり解説します。OSのしくみやネットワーク技術/仮想技術などのインフラの基礎知識に加えて、Dockerを使ったインフラ構築/運用管理の流れと手順を図をふんだんに使ってやさしく解説します。

まとめて読んで 更にスキルアップのこんな書籍

・AWSを使ってクラウドでのシステム開発を学ぼう
Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門」(翔泳社)
分野・レベル別マップ

本書について取り上げていただいたブログさま

・スーツとギークの狭間で - noimpslmtbrkさま
【書評】プログラマのためのDocker教科書( @yyamada ) (2016年2月21日)
・be free - 高野 将さま
書評 | プログラマのためのDocker教科書(2015年12月30日)
・つれずれなるままの開発日記 - coltwareさま
本の紹介「プログラマのためのDocker教科書」(2015年12月27日)
・Azureの小ネタ (改) - StateMachineさま
書評 プログラマのためのDocker教科書(2015年12月26日)
・CodeZine - 渡部 拓也さま
インフラ構築をコードで自動化できる「Docker」の魅力――主婦と先生と作家をコンテナ仮想化で両立する阿佐志保さんの生き方(2015年11月30日)

  Contents


第1章 おさえておきたいシステム/インフラの知識
1-1 システム基盤の基礎知識
 システム基盤の構成要素
  機能要件(functional requirement)
  非機能要件(non-functional requirement)
  ハードウェア
  ネットワーク
  OS(オペレーションシステム)
  ミドルウェア
 システム基盤の種類(クラウドとオンプレミス環境)
  オンプレミス(on-premises)
  パブリッククラウド(public cloud)
  プライベートクラウド(private cloud)
  クラウドが適しているケース
  オンプレミスが適しているケース
 システム基盤の構築/運用の流れ
1-2 ネットワーク/ハードウェアの基礎知識
 ネットワークアドレス
  MACアドレス(物理アドレス/イーサネットアドレス)
  IPアドレス
 OSI基本参照モデルと通信プロトコル
  アプリケーション層(レイヤー7)
  プレゼンテーション層(レイヤー6)
  セッション層(レイヤー5)
  トランスポート層(レイヤー4)
  ネットワーク層(レイヤー3)
  データリンク層(レイヤー2)
  物理層(レイヤー1)
 ファイアウォール
  パケットフィルタ型
  アプリケーションゲートウェイ型
 ルータ/レイヤー3スイッチ
 サーバ機器
  CPU
  メモリ
  ストレージ
1-3 OS(Linux)の基礎知識
 Linuxの概要
  Linuxカーネル
  Linuxディストリビューション
 Linuxカーネル
  デバイス管理
  プロセス管理
  メモリ管理
 Linuxファイルシステム
 Linuxのディレクトリ構成
 Linuxのセキュリティ機能
  アカウントによる権限設定
  ネットワークフィルタリングによる機能
  SELinux(Security-Enhanced Linux)
1-4 ミドルウェアの基礎知識
 Webサーバ/Webアプリケーションサーバ
 データベースサーバ
 システム統合運用監視ツール
1-5 インフラ構成管理の基礎知識
 インフラ構成管理
 Infrastructure as Code
 代表的なインフラ構成管理ツール
  OSの起動を自動化するツール(Bootstrapping)
  OSやミドルウェアの設定を自動化するツール(Configuration)
  複数サーバの管理を自動化するツール(Orchestration)

第2章 コンテナ仮想化技術とDocker
2-1 仮想化技術
 仮想環境
 ホスト型仮想化
 ハイパーバイザー型仮想化
 コンテナ型仮想化
2-2 コンテナ仮想化技術の歴史
 2000年〜FreeBSD Jail
  プロセスの区画化
  ネットワークの区画化
  ファイルシステムの区画化
 2005年〜Solaris Containers
  Solarisゾーン機能
  Solarisリソースマネージャ機能
2-3 Dockerの特徴
 移植性
 相互接続性
 Docker専用Linuxディストリビューション
  Red Hat Enterprise Linux Atomic Host(RHEL Atomic Host)
  Project Atomic
  Snappy Ubuntu Core
  CoreOS
2-4 Dockerの基本機能
 Dockerイメージを作る機能
 Dockerコンテナを動かす機能
 Dockerイメージを公開/共有する機能
 Dockerコンポーネント
  Docker Engine(Dockerのコア機能)
  Docker Kitematic(DockerのGUIツール)
  Docker Registry(イメージ公開/共有)
  Docker Compose(複数コンテナ一元管理)
  Docker Machine(Docker実行環境構築)
  Docker Swarm(クラスタ管理)
2-5 Dockerが動く仕組み
 コンテナを区画化する仕組み(namespace)
  PID namespace
  Network namespace
  UID namespace
  MOUNT namespace
  UTS namespace
  IPC namespace
 リソース管理の仕組み(cgroup)
 ネットワーク構成(仮想ブリッジ/仮想NIC)
  Dockerコンテナ同士の通信
  Dockerコンテナと外部ネットワークの通信
 Dockerイメージのデータ管理の仕組み
  Btrfs
  AUFS
  Device Mapper
  overlay

第3章 Dockerのインストールと基本コマンド
3-1 Dockerのインストールと動作確認
 Windowsへのインストール
  Docker Toolboxのダウンロードとインストール
 Linuxへのインストール
 TeraTermのインストールと使い方
 Dockerで「Hello world」
 Docker KitematicによるGUIでのDockerの動作確認
3-2 Dockerイメージの操作
 Docker Hub
 イメージのダウンロード(docker pull)
 イメージの一覧表示(docker images)
 イメージの詳細確認(docker inspect)
 イメージのタグ設定(docker tag)
 イメージの検索(docker search)
 イメージの削除(docker rmi)
 Docker Hubへのログイン(docker login)
 イメージのアップロード(docker push)
 Docker Hubからのログアウト(docker logout)
3-3 Dockerコンテナの生成/起動/停止
 Dockerコンテナのライフサイクル
  コンテナ生成(docker createコマンド)
  コンテナ生成/起動(docker runコマンド)
  コンテナ起動(docker startコマンド)
  コンテナ停止(docker stopコマンド)
  コンテナ削除(docker rmコマンド)
 コンテナの生成/起動(docker run)
 コンテナのバックグラウンド実行(docker run)
 コンテナのネットワーク設定(docker run)
 リソースを指定してコンテナを生成/実行(docker run)
 コンテナを生成/起動する環境を指定(docker run)
 稼働コンテナの一覧表示(docker ps)
 コンテナの稼働確認(docker stats)
 コンテナの起動(docker start)
 コンテナの停止(docker stop)
 コンテナの再起動(docker restart)
 コンテナの削除(docker rm)
 コンテナの中断/再開(docker pause/docker unpause)
3-4 稼働しているDockerコンテナの操作
 稼働コンテナへの接続(docker attach)
 稼働コンテナでプロセス実行(docker exec)
 稼働コンテナのプロセス確認(docker top)
 稼働コンテナのポート転送確認(docker port)
 コンテナの名前変更(docker rename)
 コンテナ内のファイルをコピー(docker cp)
 コンテナ操作の差分確認(docker diff)
3-5 Dockerの情報確認
 Dockerのバージョン確認(docker version)
 Dockerの実行環境確認(docker info)
3-6 コンテナからイメージの作成
 コンテナからイメージ作成(docker commit)
 コンテナをtarファイル出力(docker export)
 tarファイルからイメージ作成(docker import)
 イメージの保存(docker save)
 イメージの読み込み(docker load)

第4章 Dockerfileを使ったコードによるサーバ構築
4-1 Dockerfileの基本
 Dockerfileの用途
 Dockerfileの基本構成
 Dockerfileの作成
 DockerfileからDockerイメージの作成
 Dockerイメージのレイヤー構造
4-2 コマンド/デーモンの実行
 コマンドの実行(RUN命令)
  Shell形式での記述
  Exec形式での記述
 デーモンの実行(CMD命令)
  Shell形式での記述
  Exec形式での記述
  ENTRYPOINT命令のパラメータとしての記述
 デーモンの実行(ENTRYPOINT命令)
  Shell形式での記述
  Exec形式での記述
 ビルド完了後に実行される命令(ONBUILD命令)
  手順1 ベースイメージの作成
  手順2 Webコンテンツの開発
  手順3 Webサーバ用イメージの作成
  手順4 Webサーバ用コンテナの起動
4-3 環境/ネットワークの設定
 環境変数の設定(ENV命令)
  key value型で指定する場合
  key=valueで指定する場合
 作業ディレクトリの指定(WORKDIR命令)
 ユーザの指定(USER命令)
 ラベルの指定(LABEL命令)
 ポートの設定(EXPOSE命令)
4-4 ファイルシステムの設定
 ファイル/ディレクトリの追加(ADD命令)
 ファイルのコピー(COPY命令)
 ボリュームのマウント(VOLUME命令)
  手順1 ログ用イメージの作成
  手順2 ログ用コンテナの起動
  手順3 Webサーバ用イメージの作成
  手順4 Webサーバ用コンテナの起動
  手順5 ログの確認
4-5 Dockerイメージの自動生成/公開
 Automated Buildの流れ
 GitHubへの公開
 Docker Hubのリンク設定
 Dockerfileのビルド
 Dockerイメージの確認

第5章 Dockerイメージの共有——Docker Registry
5-1 プライベートレジストリの構築/管理
 Dockerレジストリの構築
 イメージのアップロード
 イメージのダウンロード
5-2 Amazon S3を使ったイメージ共有
 Amazon S3バケットの作成
 Amazon S3バケットのアクセスキー取得
 プライベートレジストリの起動
 イメージのアップロード/ダウンロード

第6章 複数コンテナの一元管理——Docker Compose
6-1 DockerによるWebシステム構築の基礎知識
 Web3層システムアーキテクチャ
  フロントサーバ
  アプリケーションサーバ
  データベース(DB)サーバ
 永続データの管理
  データのバックアップ/リストア
  ログの収集
 Dockerコンテナ間のリンク
6-2 Docker Composeのインストール
 Docker Compose
 Docker Composeのインストール
6-3 構成ファイル(docker-compose.yml)の構文
 docker-compose.ymlによる構成管理
 ベースイメージの指定(image/build)
 コンテナ内で動かすコマンド指定(command)
 コンテナ間Link連携(link/external_links)
 コンテナ間の通信(ports/expose)
 コンテナのデータ管理(volumes /volumes_from)
 コンテナの環境変数指定(environment)
 コンテナの情報設定(container_name /labels)
6-4 Docker Composeコマンド
 Docker Composeのコマンド
 複数コンテナの生成(up)
 生成するコンテナ数の指定(scale)
 複数コンテナの確認(ps/logs)
 コンテナでのコマンド実行(run)
 複数コンテナの起動/停止/再起動(start/stop/restart)
 複数コンテナの強制停止/削除(kill/rm)
6-5 Docker Composeを使ったWordPressシステム構築
 WordPressのシステム構成
 データ専用コンテナの作成
  1.ベースイメージの取得
  2.作成者情報
  3.データの設定
 WebサーバとDBサーバ用のコンテナ作成
  1.Webサーバ(webserverコンテナ)
  2.DBサーバ(dbserverコンテナ)
  1.Webサーバの設定
  2.DBサーバの設定
 コンテナの起動とデータの確認
 コンテナ群の稼働確認/コマンド実行/停止/削除
 データ専用コンテナのバックアップとリストア

第7章 マルチホスト環境でのDocker 運用——Docker Machine、Docker Swarm
7-1 マルチホスト環境でのコンテナ運用
 マルチホスト環境とクラスタリング
  可用性(アベイラビリティ)
  拡張性(スケーラビリティ)
 Docker MachineとDocker Swarm
7-2 Docker Machineコマンド
 Docker Machineのコマンド
 実行環境の作成(create)
 実行環境の一覧表示(ls/status)
 実行環境へのSSH接続(ssh)
 環境変数の確認(env)
 実行環境の起動/停止/再起動(start/stop/restart)
 実行環境からのファイルダウンロード(scp)
 実行環境の削除(rm/kill)
 実行環境の情報確認(ip/inspect)
7-3 Docker MachineによるDocker実行環境構築
 Docker Machineを使ったDcoker実行環境の構成
 VirtualBoxでのDocker実行環境構築手順
 Amazon EC2でのDocker実行環境構築手順
7-4 Docker Swarmによるクラスタ管理
 Docker Swarmによるクラスタ環境構築
 クラスタ環境でのコンテナ動作確認
7-5 SaaSによるコンテナ監視
 サーバ稼働監視の概要
  マシンの死活監視
  サービスの稼働監視
  サーバ/ネットワークのリソース監視
  ジョブ監視
 Mackerelでのコンテナ監視手順
  アカウントの作成
  Dockerコンテナの監視
 Datadogでのコンテナ監視手順

第8章 クラウドでのDocker運用
8-1 クラウド環境でのDockerサポート
 Dockerをとりまくクラウド環境
  Amazon Web Service
  Microsoft Azure
  Google Cloud Platform
  IBM SoftLayer
  Joyent Public Cloud
 Amazon Web ServicesのDockerサポート
  Amazon EC2を使う
  Amazon ECSを使う
  Elastic Beanstalkを使う
8-2 Amazon EC2 Container ServiceでのDocker実行環境構築
 Amazon EC2 Container Service
  Amazon ECSの主な特徴
  AWS用語
 Amazon ECSでの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」

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせはQ&A掲示板をご利用ください。
Copyright(c) 1998-2018,Yamada Yoshihiro.  All Right Reserved.