内容紹介
(概要)
ここ最近,Webシステム・Webサービスを構築・運用するにあたって「Immutable Infrastructure」という概念に注目が集まっています。これを実現する技術の1つとして現在盛り上がっているのがDockerです。
Dockerは,Linuxのコンテナ技術を用いて仮想的なOS環境を構築するというもので,一度設定し,新規で作りなおすといった場合に,手軽に利用できます。
本書は,このDockerの設定から実際の使い方についてまとめた入門書となっています。
(こんな方におすすめ)
Webアプリ開発者
インフラエンジニア
(目次)
はじめに
1章 Docker概要
1.1 なぜ今Dockerなのか?
1.2 コンテナ vs Virtual Machine
1.3 その他のコンテナ実装
LXC
libvirt
OpenVZ
Warden
2章 Dockerの特長
2.1 GO言語
2.2 Linux Namespace
2.3 リソース制御
2.4 UnionFS
2.5 Dockerfile
2.6 イメージ,コンテナ
3章 Dockerのインストール
3.1 インストール
動作確認
Mac OS Xへのインストール
3.2 設定の確認
4章 Docker操作の基本
4.1 バージョンの確認(version)
4.2 現在の情報(info)
4.3 イメージの取得(pull)
4.4 インタラクティブ実行
4.5 長時間実行するアプリケーションの実行
4.6 コンテナの停止(stop)
4.7 コンテナの再実行(start,restart)
4.8 コンテナへのアタッチ(attach)
4.9 コンテナの強制終了(kill)
4.10 コンテナ内プロセスの監視(top)
4.11 コンテナの状態の確認(inspect)
4.12 コンテナのコミット(commit)
4.13 コンテナの削除,イメージの削除(rm, rmi)
4.14 コンテナのイメージを共有する(push)
4.15 runコマンドリファレンス
detach
env
interactive
link
name
rm
publish-all
publish
privilege
tty
volume
volume-from
5章 Dockerfile~Dockerの設定ファイル
5.1 build コマンド
5.2 Dockerfile Format
FROM
MAINTAINER
RUN
CMD
EXPOSE
ENV
ADD
ENTRYPOINT
VOLUME
USER
WORKDIR
ONBUILD
Dockerfile Example
6章 コンテナとネットワーク
6.1 ブリッジ機能の確認
複数コンテナを起動した場合
通信の確認
6.2 Expose,ポートマッピング
6.3 コンテナ間ネットワークとセキュリティ
6.4 Link a Container
6.5 Ambassador Pattern
7章 その他のDockerTIPS
7.1 Dockerの基本,コマンド編
Dockerのイメージ格納先を変更したい
使用してないコンテナを一度に削除したい
使用してないイメージを一度に削除したい
コンテナ内のデータをバックアップしたい
AUFS のリミットに達してしまった
private-repository でイメージを共有,バックアップする
イメージをリモートリポジトリにアップロードする
実行メモリを制限したい
7.2 Dockerfile編
Dockerfileを動的に変更してbuildしたい
apt-getが遅い
aptでインストール中でのダイアログの選択
upstartへの登録,upstartで動作しない
fuseのインストール(ubuntu 13.10)
容量を少しでも減らしたい
git clone時のknown_hosts
7.3 ソフトウェアのインストール,個別設定
timezoneを設定したい
sshdの設定(ubuntu 13.10)
nvmによるnodeのインストール
Oracle JDKのインストール
おわりに
ここ最近,Webシステム・Webサービスを構築・運用するにあたって「Immutable Infrastructure」という概念に注目が集まっています。これを実現する技術の1つとして現在盛り上がっているのがDockerです。
Dockerは,Linuxのコンテナ技術を用いて仮想的なOS環境を構築するというもので,一度設定し,新規で作りなおすといった場合に,手軽に利用できます。
本書は,このDockerの設定から実際の使い方についてまとめた入門書となっています。
(こんな方におすすめ)
Webアプリ開発者
インフラエンジニア
(目次)
はじめに
1章 Docker概要
1.1 なぜ今Dockerなのか?
1.2 コンテナ vs Virtual Machine
1.3 その他のコンテナ実装
LXC
libvirt
OpenVZ
Warden
2章 Dockerの特長
2.1 GO言語
2.2 Linux Namespace
2.3 リソース制御
2.4 UnionFS
2.5 Dockerfile
2.6 イメージ,コンテナ
3章 Dockerのインストール
3.1 インストール
動作確認
Mac OS Xへのインストール
3.2 設定の確認
4章 Docker操作の基本
4.1 バージョンの確認(version)
4.2 現在の情報(info)
4.3 イメージの取得(pull)
4.4 インタラクティブ実行
4.5 長時間実行するアプリケーションの実行
4.6 コンテナの停止(stop)
4.7 コンテナの再実行(start,restart)
4.8 コンテナへのアタッチ(attach)
4.9 コンテナの強制終了(kill)
4.10 コンテナ内プロセスの監視(top)
4.11 コンテナの状態の確認(inspect)
4.12 コンテナのコミット(commit)
4.13 コンテナの削除,イメージの削除(rm, rmi)
4.14 コンテナのイメージを共有する(push)
4.15 runコマンドリファレンス
detach
env
interactive
link
name
rm
publish-all
publish
privilege
tty
volume
volume-from
5章 Dockerfile~Dockerの設定ファイル
5.1 build コマンド
5.2 Dockerfile Format
FROM
MAINTAINER
RUN
CMD
EXPOSE
ENV
ADD
ENTRYPOINT
VOLUME
USER
WORKDIR
ONBUILD
Dockerfile Example
6章 コンテナとネットワーク
6.1 ブリッジ機能の確認
複数コンテナを起動した場合
通信の確認
6.2 Expose,ポートマッピング
6.3 コンテナ間ネットワークとセキュリティ
6.4 Link a Container
6.5 Ambassador Pattern
7章 その他のDockerTIPS
7.1 Dockerの基本,コマンド編
Dockerのイメージ格納先を変更したい
使用してないコンテナを一度に削除したい
使用してないイメージを一度に削除したい
コンテナ内のデータをバックアップしたい
AUFS のリミットに達してしまった
private-repository でイメージを共有,バックアップする
イメージをリモートリポジトリにアップロードする
実行メモリを制限したい
7.2 Dockerfile編
Dockerfileを動的に変更してbuildしたい
apt-getが遅い
aptでインストール中でのダイアログの選択
upstartへの登録,upstartで動作しない
fuseのインストール(ubuntu 13.10)
容量を少しでも減らしたい
git clone時のknown_hosts
7.3 ソフトウェアのインストール,個別設定
timezoneを設定したい
sshdの設定(ubuntu 13.10)
nvmによるnodeのインストール
Oracle JDKのインストール
おわりに