読了『開発系エンジニアのためのDocker絵とき入門』
読んだ動機
Dockerは開発で使っていますが、必要な部分だけをピックアップして使っていたので、体系的な理解が不足していると感じていました。そんな時にこちらの書籍が発売されたので、これ幸いと手に取りました。
全体の感想
期待したとおり、Dockerの基本的なところをキャッチアップできました。ページ数は約350ページとそれなりにボリュームはありますが、イラストやターミナルでの実行例などが多く、実際に手を動かしながらサクサク読み進められます。
全体の構成は、まずDockerの背景にある仮想化に始まり、コンテナ・イメージ・ボリューム・ネットワークといった基本的な要素について、そしてDocker Composeや実運用を想定したノウハウについて紹介されています。私は早々にDocker Composeを使用したので、基本的な要素の解説からDocker Composeに繋げる構成が分かりやすかったです。
仮想化とOCI
コンテナ型の仮想化についてぼんやりとした理解しかなかったので、改めて他の仮想化との違いやコンテナ型の特性について学習することができました。
また「OCIが定義する仕様」の存在を知れたので、類似のサービスとの比較に活用できそうです。
コンテナとイメージ
当初、コンテナやイメージについては次のような印象を持っていたのですが、改めて学習してだいたいあっているようです。
コンテナ:クラスから生成されたオブジェクト
イメージ:クラス
Dockerfile:クラスの継承
とはいえイメージのレイヤやメタデータについて新しくしれたことで、ビルドの高速化などに活用できそうな気がしています。
Docker Composeについて
通常のdockerコマンドからDocker Composeに移行していく構成により、どのような点が解決されるのかを学習することができました。例えばネットワークはDocker Composeがよしなにやってくれる部分なのでこれまで意識する機会がありませんでしたが、こういった手順を踏むことで学習できた部分です。
あとYAMLファイルはずっと docker-compose.yml で作成していましたが、今は compose.yaml が推奨なのですね。これも新しく知れたところです。
まとめ
当書はDockerについて、イラストをまじえた平易な表現で解説されています。実際に手を動かしながら読んでいくことで、Dockerについての基本的な理解を深められることができます。Linuxや一部のアプリケーション(PHP、MySQL等)についての基本的な理解が必要だったりしますが、読みやすいので現場でも勧められそうな書籍です。
書籍情報
著者:鈴木 亮
発行:秀和システム
発行日:2024/01/25