Dockerとは
Dockerはコンテナ型仮想化ソフトのひとつです。
昔は仮想環境に名前をつけて可愛がっていた時代があったそうですが、最近は仮想環境を使い捨てるらしいです。
まずは、従来のホスト型仮想化や、ハイパーバイザー型との違いをみていきましょう。
くらべてみる
ホスト型仮想化
ホスト型仮想化は、ホストのOSに仮想化ソフトをインストールして仮想化する方法です。
Oracle VM Virtual Box
ParallelsDesktop など
ホストOSを動かしながら余ったハードウェアリソースを用いるので重たくなりがちです。
ハイパーバイザー型仮想化
ハイパーバイザー型仮想化は、コンピュータに仮想化専用のOSのハイパーバイザーを用いることによって仮想化する方法です。
Citrix XenServerなど
基本的にはリモデスやSSHで仮想OSを操作するためノートパソコンでハイパーバイザーして持ち歩く人はそうそういないと思います。
個人というよりも、データセンター向きの仮想化の方法です。
コンテナ型仮想化(記事の主役)
LinuxOSなどにはカーネル(核になる部分)と呼ばれるものがあり、どのディストリビューションにも共通して存在します。
そのカーネルを共用して仮想化するのがコンテナ型仮想化です。カーネルを複数保存しなくても済んだりするためハードウェアリソースを有効活用できます。
Dockerを少しだけさわってみる
さわってみましょう。事前にDockerにログインを済ませておいてください。
pull
$docker pull <イメージ名>
で
好きなOSイメージをダウンロードできます。イメージ名はDockerHubを参照してください。
run
$docker run -it <イメージ名>
で
コンテナが作成され、コンテナ内のコンソールに移動します。
ps
$docker ps -a
で、作成したコンテナ一覧とその様子を確認できます。
aオプションを忘れると動いているコンテナのみしか表示されません。
rm
$docker rm <コンテナ名orコンテナID>
で
コンテナを削除できます。
Dockerコンテナのホスティング
Dockerコンテナをホスティングするサービスがあります。
https://arukas.io/
レンタルサーバでおなじみのさくらインターネットさんのDockerホスティングサービスです。
Arukasでは無料で128MBのRAM、カスタムドメインも利用できます。
有料版もあるそうです。