先日設計に関する技術書を読んだ勢いで次に読む本を探していたところ以前より気になっていた Docker に関する本が KindlePrime で無料で読めるとのことだったので読んでみた。
Docker&仮想サーバー完全入門 Webクリエイター&エンジニアの作業がはかどる開発環境構築ガイド を読んでみました。
Dockerというとエンジニアがいつかは通る道だというイメージが強く、C# では使われるイメージがあまりありませんが、javascript や python などの言語やライブラリのバージョンが複数あるような環境ではよく使われているようです。
ただ内容を理解することが難しく以前勉強を断念していましたが、仮想環境やLinuxを触った経験を得て今なら理解できるのでは?と読み始めました。
はじめに
- ある程度サーバーなどに詳しくないと理解できないと思います。
- 仮想環境やサーバーについての基本的な内容の理解がある人向けです。
読んでみた感想
感想を一言でいうと「Dockerを手軽に使えるエンジニアになりたい」でした。
以下は自分が感じたDockerを利用するメリットとデメリットです。
- PCのローカル環境を汚さない
- PC内をできるだけきれいに整理しておきたい自分としてはとても嬉しいメリットです。
- 環境構築が早い
- 複数のバージョンを試したり、いろいろな環境(WebサーバーやDBサーバーなど)を手軽に構築し、それを消すことができるので業務以外でも個人で触ってみたい技術があったときに便利だと感じました。
- 環境の再現性が高い
- 端末によって動かないみたいなリスクを減らせます。これはチーム開発としては嬉しいメリットだと思います。
- 仮想デスクトップに比べて手軽
- 仮想デスクトップは構築するたびに時間がかかりますが、コンテナは手軽に試すことができます。
- OSに依存するような場合はコンテナは利用できないので使い分けが大事です。
- 学習コストがあるが理解すれば強力
- 学習コストが高いですが、理解すればいろいろな場面で使用できそうです。
逆にデメリットを感じたことはやはり最初の学習コストが高いことや、導入することで起こる不具合に余計に時間がかかる可能性があることです。
Linuxや仮想環境についての知識が多少あると理解しやすいですが、チームの全員が最低限の知識を導入する必要があることが必要です。
まとめ
今回読んでみて、Dockerは環境構築を手軽にできる技術だと感じました。自分のPCを汚さず、複数の環境を簡単に試せるので、業務だけでなく個人の調査や研究、開発でも活用できそうです。
「難しそう」と思っていたDockerですが、少しずつ触っていけば手軽に使えるようになりそうだなというのが正直な感想です。
また、本書ではサンプルが沢山あるのでそれを利用するのも最初の取っ掛かりとしては良いのではと思いました。