このすみノート

Webエンジニアが技術や趣味を書くブログです。

【技術同人誌感想】マンガで分かるDockerで、Dockerと難しい内容を噛み砕いてく技術を学ぶ

技術書典4で購入した「マンガで分かるDocker」を読みました。

f:id:konosumi:20180429183952p:plain

著者は湊川愛さんで、私は「しがないラジオ」がきっかけで知りました。

スキルを組み合わせてオンリーワンへ 湊川あいさん(しがないラジオsp.7a) - このすみろぐ

私は既にDockerのことを知っているので、復習の意味も兼ねています。Dockerという難しい概念を、どう分かりやすく説明するのか気になっていたのですが、本当に分かりやすかったので、感想も兼ねて綴っていきます。

コンテナはファミコンのカセットである

まず第一に、例えが面白いです。「コンテナはファミコンのカセットである」という例えが、言い得て妙です。

Dockerのコンテナがファミコンのカセットであると言うことは、カセットを入れ替えながら、色々な開発環境で遊べるわけです。興味が湧いてきますよね?

それこそがDockerの真髄であります。Node.jsコンテナがスーパーマリオブラザーズなら、PHPコンテナはテトリスです。

開発するための環境の構築は、たくさんのLinuxコマンドを打たなければならないであったりとか、大変そうだから、と避けられがちなタスクです。

・・・でも、Dockerを活用すれば、非エンジニアであっても環境をお手軽に構築することができます。それが、湊川さんの場合は執筆のための開発構築構築だったみたいです!

冪等性を理解する

冪等性に関しては、詳しくは本書を読んで理解して欲しいのですが。エンジニア界隈では、よく特定の環境だけ起こるトラブルといった事象が発生します。

それが、記述したプログラムの問題なのか、それとも環境(ミドルウェアの設定や、Linuxの設定など)の問題なのかは、調査してみないと分かりません。

Dockerを活用することによって、これらの諸問題をクリアにすることができます。環境構成をこんなに気軽に、インスタントに持ち運べる時代がやって来ようとは。

いやはや、凄い時代になりました。

デーモンさんがのほほんとしている

「ftpd・sshd・httpd・MAILER-DAEMON」の各デーモンは、のほほんとしています。Dockerデーモンだけ、少しふてぶてしい態度なのは何故なのだろうか(笑)。

ターミナルでDockerを動かす

docker run hello-world で、最初のDockerを体験することから始まり、本書はDockerのライフサイクルの解説へと移っていきます。

  1. (イメージ取得) docker pull
  2. (コンテナ生成) docker create
  3. (起動) docker start
  4. (停止) docker stop
  5. (削除) docker rm

引用:マンガで分かるDocker

コンテナのライフサイクルは、ざっくり書くと上記になります。

ただ、これを見ただけですとピンと来ないと思いますので、詳しくは本書を読んでみてください。マンガで図解で、分かりやすく書いてあります。

初心者の気持ちに立つことの難しさ

私も、技術書典4で「Firebase + React.js リアルタイムアプリケーション入門」という、入門者向けの本を出したのですが、初心者や入門者向けの本は、思ったよりも書くのが難しいのです。

技術書典4に初サークル参加したので、設営や執筆の方法、感想などを書きつつ振り返ります - このすみろぐ

何が難しいかと言いますと、一度でも知ってしまう(理解してしまう)と、初心者の気持ちに立つのが途端に難しくなってしまうのです。

本書内でも「これ読めばわかるよ〜」からのDocker公式ドキュメントのくだりがありましたが、これって往々にしてあります。だから、技術を知っている人であっても、原点に立ち返って本書のような初心者向けの本を読むのは、思ったよりも有益であると気付かされました。

さいごに

ご要望が多ければ続編も書きたいと思っています!

続編も期待しています!

補足: 技術書典4に参加できなかった方、購入できなかった方へ

BOOTHでも購入できるみたいです。

#マンガでわかるDocker 〜基本のキ〜 #技術書典 4 - 湊川あいの、わかば家。 - BOOTH(同人誌通販・ダウンロード)