Dockerをどうやって説明しようか困ってます。

本来は、技術系の話はやめようとは思ってましたが
なんとなく、Qiitaに書くレベルから落としてみます。

Q: そもそもDockerって何?
A: Dockerはコンテナ管理ツールである。。。

この定義についておそらく、次の2つのタイプに分かれるかと思います。
・は?何言ってんのおまえ、Dockerはコンテナ管理ツールだけじゃないぞ、
物事の表面的なところしかみてないな、ぶつぶつ・・・
・は?何言ってんのおまえ、コンテナって、船なの?意味がわかんね。

[共通すること]
・この説明ではわからない。

[異なること]

・前者はコンテナエンジンを全体の一部として捉えている。
・後者はそもそもコンテナエンジンという言葉がわからない。

これは、おそらくテニスでレベル分けすると
ラケットでボールを打つに特化して説明すると以下の通りかと。

ラケットをどうやって持つか
ラケットでボールをどうやって打つか
ラケットでボールを打って、ネットを超えるか
打った球をどうやって相手のコート内に入れるか
どうやってボールに勢いをもたせて相手のコートに入れる球を打つか

なので、他の球技も応用が効くかと思いますが
おそらく、課題に対して知りたいレベルに合わせた説明をしないと
いまの説明では不満が残ります。

大きな部屋でプレゼンを想定したときに、
間違いなくレベルの低い人に合わせた説明をしないといけません。
今回は、後者に焦点をあてて説明を補足することにします。

コンテナエンジンとは
コンテナというと船の荷物というのはよいとして、
じゃあ、その中身はなんだろうなという話になります。

Dockerは仮想環境である。

ん?仮想?どういうこっちゃ
ゴーグルでもつけてわちゃわちゃすんのかいな。。。

というと、結局こういうことを説明するときは
プログラムでOSを再現する。
なんでそんなことをするかという理屈は私の理解だと


マシン本体のOSをいじるとマシンがぶっ壊れる可能性がある
だから壊してもいいOSを作って(これをリソースの分離とか言ったりする)
その上でプログラムを動かすほうがよいだろう

ここで気をつけるべきは
仮想マシンVMware等)
との違いに注意する必要があります。

仮想ホストはゲストOSを作りますが
コンテナはゲストOSを作りません

じゃあ、なんなのかというと
ホストOSをうまく借りてOSのように動かしてる
っていうのが良いのか。。。

実はここまで説明できたとしても
じゃあ、それがなんなのさ
という話に行ってしまうと。。。。

広告を非表示にする