docker 概念整理

dockerとは

dockerとはホストマシン(macのローカル)に依存せず、開発環境を構築出来るツール linuxカーネルの仮想技術を用いているため、オーバーヘッドが少ない。

コンテナ技術を用いて、実行環境を他のプロセスから隔離してアプリを起動させます。 カーネルを直接使用しているから楽になります。 Vagrantだとメモリ割当やらCPUコア数やら設定しなくてはいけないんですが、 dockerは必要ありません。 もちろん、virtualboxでのメモリ割当は必要です。

カーネルとは

ぐぐってみると、アプリケーションとハードウェアの連携を司るシステムだそうです。

コンテナ技術とは

1つのOS上に隔離された区画を用意してアプリケーションを実行する技術です。 よく docker pull centos をしてcentosのイメージなどを構築するケースがありますが、これはdocker(linux環境)上にcentos環境を構築する形となります。

dockerホストマシン作成方法

通常はvirtualboxなどを用いて仮想マシンを作成します。 macwindowsではdocker-machineを用いて、docker virtualbox上にdockerホストマシンを構築します。

コマンドは以下の通りの感じで作成出来ます。

$ docker-machine create --driver virtualbox vbox

これで仮想マシンを作成します。