この記事について
最近調査(2016/6/27時点)に使用した書籍について記載します。
目についたところ、気になったところをメモ書き程度に抜き出しているだけなので
本を実際に読んだほうがいいと思います。
また、Docker関係は進歩が早いので出来るだけ新しい書籍を使うことをお勧めします。
WEB+DB PRESS plusシリーズクラウド開発徹底攻略
出版日:2016年5月13日
http://gihyo.jp/book/2016/978-4-7741-8095-3
AWS,Docker,GCP,Herokuの特集から構成されています。
Docker自体は36P
電子書籍でも販売がされています。
Dockerの基本的なコマンドについてはほとんどありません。
どちらかと言うとDockerをどうやって使っていくかという内容になります。
以下はメモ程度に抽出したものになります。
Dockerのいいところ
・開発者がアプリケーションをイメージに保存
・イメージをインフラに共有
・インフラが本番まで運ぶ
・開発環境で動いていたものをそのまま動かす
・Dev-OPSの担当範囲が分離される
わるいところ
・コンテナ自体を管理するコスト
・学習コストは高い
(枯れていない技術なので)
Dockerを活かすための原則
・1コンテナ1プロセス
・コンテナはいつでも捨てられるようにしておく。
例えばログはコンテナ外に出したり
Railsを例にしたデプロイ
Railsアプリの場合
・Rails
・nginx
・MySQL
ごとにコンテナを作る。
kubernetsを利用したデプロイ
KubernetsにはPodという概念がある。
VOLUMEが共有できる。
Docker実践入門
出版日:2015年8月
http://gihyo.jp/book/2015/978-4-7741-7654-3
Dockerの概念的なところから実際のコマンドまで書かれています。
Kubernetesまで記載されているので、この本を読めば一通り使えるようになると思います。
DockerのProductionリリース
図1.3が参考になりそう。
テストサーバ上で動作確認をしてそのままの状態でコンテナ用のイメージとして保存。
コンテナを本番に配置して起動
(ただしこの例はかなり簡易化されており、Blue Green Deployとかは考えてない)
Immutable Infrastructureによるインフラ管理
Immutable Inftastructure: 不変なサーバ基盤
Dockerでは1つのコンテナイメージに複数のアプリケーションを含めることはできるが、あまりオススメしない。
コンテナイメージを作り直した時にどこが設定変更したかわからなくなるから
Docker実戦活用ガイド
上の本と名前が紛らわしい本。
https://book.mynavi.jp/ec/products/detail/id=53069
出版日:2016年5月26日といま出版されているDocker本の中では最新
最近オープンベータ化されたDocker for Macについてインストール方法や使い方が乗っているのが特徴
(本ではオープンベータする前の話なのでインストール方法は若干違うかも)
前半はDockerコマンドの実行方法についてで、割と初心者向け。
中盤はDocker Machine/Docker Swarm/Docker ComposeなどDockerを利用するためのシステムが乗っていてよい。
ただ、後半は簡易ジャッジシステムというPaizaクローンを作る話で、本質的にはDockerはあまり関係ないのがマイナス点。
また、サンプルコードがweb上に無い(見つけられなかっただけかな)ため、後半のスクリプトの実行とかはかなり大変。
kubernetesとかの記述も無い。
Dockerのコマンドについて勉強したい。という人向けの本。
Docker実践ガイド
出版日:2015年12月21日
http://book.impress.co.jp/books/1115101002.php
・Dockerの導入のメリットやデメリット。
・こんなシステムはあまりDockerに向かない
(※いわゆる基盤系の交通インフラ等の止まったら困るシステム)
・Docker検討項目の洗い出し
というインフラ管理者向けの話から始まる。
どのOSがいいかという比較
Dockerを使う。という立場よりDockerを導入するという立場から書かれた本。
他の本はDockerを使うところに重きを置いているが、Dockerの導入というところに重きを置かれた本は少ないので、参考になる。
どの本を読むべきか
・本当に初心者。 Dockerを使えるようになりたい。
Docker実戦活用ガイド
・Dockerの周辺技術(コンテナの配置など)含めて読みたい
Docker実践入門
――Linuxコンテナ技術の基礎から応用まで
・Dockerの導入を検討したい。
Docker実践ガイド
・Docker周りの話も含めて幅広く読みたい
WEB+DB PRESS plusシリーズクラウド開発徹底攻略