docker の裏側を理解する(使い方以前)



ざっくりいえば、
container = プロセス・アプリetc
image = container(複数?)やスクリプトがパッケージされたもの。

imageにcontainerを追加し、再びimage化することもできる。(imageはアプリ全体、containerは個々のプログラム・プロセスとも考えることができるが、粒度については結構あやふやかもしれない。)

Dockerfileは、どのimageを使うか、imageに追加するものがあるか、どのスクリプトを実行するかなどを記述できる。研究用途としては実験の再現性担保に最適な気がする(以前はMakefileに書くケースが多い印象だった。)


既存のハイパーバイザー型仮想化(VMware, Hyper-V etc.)の知識が却ってわかりにくくさせているようにも見えるが、、、。
アプリベースの仮想化もあった気がするが、Dockerはそちらに近いような気もする。(もちろん、I/O等の仕組みは全然違うけれど。)

タグ:

linux docker
最終更新:2019年01月23日 09:00