Linuxのコンテナ技術を使用
コンテナは、ホストマシンのカーネルを利用し、プロセスやユーザーなどを隔離する
ミドルウェアや各種環境設定をコード化して管理できる(=Infrastructure as Code)
ローカル・本番環境問わず
Dockerの正体
Docker for Mac
システムのその他の部分から分離された一連のプロセス
OSとカーネルを共有し、アプリケーションプロセスをシステムの他の部分から独立させる(単一のOSで実行される)
構成
[ホストOS]
[ハードディスク]
構成
[ゲストOS]
[仮想化ソフト]
[ホストOS]
[ハードディスク]
メリット
デメリット
構成
[ゲストOS]
[ハイパーバイザ]
[ハードディスク]
メリット
デメリット
[コンテナ管理ソフトウェア]
[ホストOS]
[ハードディスク]
メリット
デメリット
Docker repository(Ex. Docker Hub)
↓ (pull)
Dockerfile → Docker Image → Docker Container
(build) (run)
↓ (commit)
Docker Image → Docker Container
(run)
※ホストOS型とハイパーバイザ型の違い
Think IT - ホスト型とハイパーバイザー型の違いは何?VMware vSphere Hypervisor の概要が参考になる。
docker build
docker run
docker commit
カーネルとは
OSの基本機能の役割を担うソフトウェア
カーネル+ソフトウェア = ディストリビューション