【実践技術書】プログラマのためのDocker教科書
Dockerの一通りの操作や使い方が把握できます。Dockerの仕組みについても説明があるので、仕組みの部分についても理解ができます。 DockerだけでなくネットワークやOSの基礎的な部分についての内容も結構充実しているので、まさに教科書といった感じです。
Docker周りの応用的なコマンドや技術も紹介されているので、とりあえず試しでDocker使ったことあるくらいの人なら学べることがたくさんあると思います。
すでにわかっている人は復習になりますし、知らない人はここで必要な知識を身につけることができます。 実際にDockerを使ってローカルに環境を用意したりといったこともやるので、実務でDockerを使うことになりそうという方はぜひ一度読んで見るといいです。
本の概要
以下の構成になっています。
-
システムインフラの知識
Dockerの理解に当たって必要な基礎知識です。 OSI基本参照モデルとか、OSのカーネルとか、オンプレミスかクラウドかといったような内容です。知っている人は飛ばしても大丈夫です。
関連する単語ごとに説明してくれるので、基本情報の復習になると思います。
-
コンテナ仮想化技術
コンテナについての知識です。コンテナ技術ができる歴史的な観点から、実際の動作の説明まで紹介されます。 実務で使っている処理や動作の裏側や仕組みを知ることができるので、すでに使っている人も一読しておくといいです。もちろん知らなくても使えますが、何か起きたときに仕組みを知っていると対処がしやすくなります。
-
Dockerのインストール
実際にDockerをインストールして動かします。基本的なコマンドの使い方を一通り経験します。 Docker Hubなども使うので、Docker周りの一通りのサービスに触れることができます。
-
Dockerfileを使ったサーバ構築
Dockerfileを使ってサーバを構築します。諸々の設定をやって見る箇所なので丁寧に進めていくのがいいです。このへんまでできればローカルにDockerで環境を建てられるようになっているのではないかと思います。
-
Dockerイメージの共有
実務でDockerを使う場合、イメージ共有をすることになるのでここも重要だと思います。プライベートレジストリを作ってアップロード、ダウンロードを試すので、結構実用的な経験ができます。
-
複数コンテナの管理
DockerComposeを使って複数のコンテナを管理します。実際にWordpressシステムを構築するので、割とすぐに応用できると思います。
-
マルチホスト環境でのDocker
Docker Machineコマンドなどを使って実行環境を構成します。Docker Swarmを使ったクラスタ構成も試して見るのでちょっとむずかしくなりますが、この辺も一緒に学んでおくと便利になります。
-
クラウドでのDocker
クラウド環境で使うならこんな感じという情報です。さまざまなクラウド環境について, Dockerで実装するという前提で紹介してくれます。実際にDockerで何らかのサービスをたちあげるつもりであれば、大いに参考になると思います。
Dockerの教科書
教科書となっているだけあり、基礎的な知識から知ることができます。実際に手を動かす部分も、実務で使えるような内容なので参考になりました。 DockerだけでなくネットワークやOSのカーネル関連の知識も同時に学ぶことができます。とてもいい教科書でした。ネットワークやOSの理解の手助けになると思います。
Docker ComposeやCocker Machineなど周辺の便利な機能も一緒に使うことになります。Dockerの技術はどんどん成長していっている状況ですので、基礎の部分含めて学んでおくのはとても良いです。 これからの環境構築には手放せないものになる予感があります。
おわりに
この本を読んで一通り試せば、Dockerについてほぼ困ることはないと思います。現場ごとの環境で躓くことは起きるかもしれませんが、基本的なことはわかっているので対応できるようになります。躓いたところは現場の先輩に質問しましょう、この本の内容が理解できていればわからないことはありません。勇気を持って質問すれば解決できると思います。
業務でDockerを使っているところは増えていると思います。いわれるがまま再構築するのも良いのですが、一度ローカルで試してみることをおすすめしたいです。思ったよりも簡単に試すことができるので、個人開発や勉強用の環境としてもおすすめです。
すでに第2版になっているくらいなので、結構技術の更新が盛んです。引き続きDocker関連の情報をキャッチアップしていきたいです。