ポエムです。スクショも検証もなくていい。怠惰なエンジニアはポエムを書くべきである。ポエムすら生成AIに任せたい。
Dcoker初心者向けの話。
巷にいろいろ初心者向けがあふれかえっているわけなんですが、あんま見かけないのが「じゃあDockerがなかった時代はどうやってたの[おじいちゃん|おばあちゃん]」である。
結局のところ、あらゆるテクノロジについて、初心者にまず説明するべきは「これがなかったらどうなってたことやら」を理解してもらわないとだめなんだって。
じゃあ、Dockerに限った話をする。
こいつがなかったらどうなるか。お前は、お前が面倒を見ているシステムなり、開発している動かないコードだったりを動かすために使っているあらゆる他人が作ったプログラム関連がバージョンアップされるたびに、再インストールしなければならない。
再インストールしたら、他人(昨日までのお前を含む)が作ったクソコードはバージョン依存で動かなくなるかもしれない。その場合戻しようもない。お前はもうどうしようもないだろう。
コンテナ化するとバージョンを変えたいモジュールだけ入れ替えられる。しかも環境影響まったくなしだ。コンテナならバージョンを指定してインストールできるからだ。お前のバージョン依存のクソコードだって難なく動かせるだろう。顔も知らないもう辞めたナイス・ガイのコードだって動くだろう。
単にこれのためだけにDockerは存在する。
その動作原理はLinux標準(俺から言わせればSolarisだ。最初に見たプロセス分離を親と思う生き物だからだ)機能だ。
初学者はそこをまず理解するべきである。Docker ComposeだろうがKubernetesだろうがArgo CDだろうが、これがわかればわかるんだ。