LoginSignup
4
5

More than 5 years have passed since last update.

Dockerとは

Last updated at Posted at 2018-10-27

Dockerとは

一言で言うと、サーバー仮想化技術です。

予備知識

  • ハードウェア
    システム基盤を構成する物理的な要素。
    サーバー機器本体、電源装置など。
  • OS
    ハードウェアやネットワーク機器を制御するための基本ソフトウェア。
    • ホストOS
      パソコンやサーバーそのものにインストールされている、仮想環境の土台となるOS
    • ゲストOS
      ホストOSの上で動く仮想的なOS

厳密には違いますが、上記のようなイメージをしていれば大丈夫です。

サーバー仮想化技術

これらは、どの部分を仮想化するかで異なります。
1. ホスト型
2. ハイパーバイザー型
3. コンテナ型 ←Dockerはこれ

ホスト型サーバー仮想化

ホストOSに仮想化ソフトウェアをインストールし、その上でゲストOSが動く。
* Oracle VM VirtualBox
* VMware Workstation Player

ハイパーバイザー型サーバー仮想化

ハードウェア上に仮想化を行う。
環境ごとに別のOSが動作する。ホストOS、ゲストOSという形に分かれていない。

コンテナ型サーバー仮想化  

ホスト型とは異なり、ゲストOSを作るわけではなくホストOSそのものを分割し、それを一つの単位(コンテナ)とする。
ホストOSをしっかり分割して、シェアしているイメージ。 
シェアを制御するのは、ホストOS上にインストールされたコンテナ管理ソフト。  
JVMと同じようなイメージを持つといいかもしれない。

  • 同じシステムリソースを利用するため、無駄が少ない
  • 実際には同じリソースを利用しているが、別々のものを使っているように見せている
  • 軽量、高速
  • 可搬性

用語

  • Dockerfile
    イメージを生成するための設計書
  • Dockerイメージ
    コンテナを生成するための雛形
  • Dockerコンテナ
    Dockerイメージから作られた実体

何ができるのか

  1. どんなところでも同じ(サーバー)環境を作ることができる
  2. 同じアプリなのに、環境が変わったせいで動かなくなるということがない
  3. 同じ環境をたくさんコピーできる
  4. 誰かが設定した環境を共有し、他の人も簡単に同じ環境が作れる
  5. 設定した環境を手軽に破棄できる(ホストOSの状態を汚さない)
  6. 様々な種類のOSのDockerイメージが配布されている
  7. 一つのパソコン上に、サーバーを複数立てることができる
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5