Dockerが難しい!のでアクアリウムに例えてみた 前編

はじめに

こんにちは!na_ahです!

今日はDockerを勉強していてイメージが掴みづらかったところを、アクアリウム構築の例で説明してみたいと思います。今回の例は、自分オリジナルのアクアリウムを作るために、市販のアクアリウム構築キットや、追加で必要なものを購入したり、手持ちの物を加えたりするといった例です。こうやって別の物に例えるとDockerの理解が深まりました!

Dockerとは?というところはすでに学んでいるという前提でお話ししていきます。

Dockerをアクアリウム構築に例えてみる

今回説明に用いるのは次のようなイメージ図です。

Dockerとアクアリウム構築イメージ図

この図の通り、Dockerとアクアリウムが次のような対応関係になっています。

では一つずつなぜそう例えることが出来るのかみていきましょう。

Dockerfileと買い物リスト

Dockerfileと買い物リストの比較

Dockerfileはベースイメージを設定し、必要なアプリケーションをインストールします。また、ローカルで開発中のファイルなどをイメージに組み込むことができます。

これはアクアリウム(水槽)構築に例えると、必要なものを計画し、買い物リストに追加していく過程に似ていませんか?アクアリウムのベースとなる市販のキットを購入し、必要なものを追加購入、家にあるものはそれを流用するのです。

Imageとアクアリウム構築オリジナルキット

Imageとアクアリウム構築オリジナルキットの比較
Imageとは環境構築に必要なアプリケーションやファイル、設定を集めてひとまとめにしたパッケージです。それらがレイヤーとして階層が積み重なった形をしています。

アクアリウムの例では、アクアリウム構築オリジナルキットがImageにあたります。これは、市販の構築キットに足りない物を自分で調達したものの集まりです。

Containerとオリジナルアクアリウム

Containerとオリジナルアクアリウムの比較

Containerとはコマンドを実行するために構築された隔離環境です。

アクアリウムでは完成したアクアリウムの環境がContainerにあたります。ここで魚を泳がせることができます。

前編ここまで

では、少し長くなったのでここまでで一旦前編を終わります。後編ではImage BuildとContainer Runについてこの例を元に見ていきます。