LoginSignup
1
2

More than 3 years have passed since last update.

Dockerとは何か?[入門編]

Posted at

Dockerについて

コンテナ仮想化を用いてアプリケーションを開発・配置・実行するためのオープンソフトウェアあるいはオープンプラットフォームである。(wikipediaより)

コンテナ?仮想化?何それ状態だと思います。次にそれらについて解説します。

コンテナとは

OS上に区画を作り、アプリケーションを動作させるために必要なライブラリやアプリケーションなどを一つにまとめたものである。

仮想化とは

コンピュータリソースを抽象化することである。
コンピュータそのものをハードウェアからソフトウェア化することを目指す。

Dockerのメリット

まずよく比較されるサービスとしてVMwareVirtualBoxなどの仮想マシンがあります。
こちらがメリットです。

  1. 簡単に環境開発
  2. 軽量でスピーディーな開発
  3. ハードウェアの資源削減
  4. 共有化されたシステム
  5. イミュータブル・インフラストラクチャである点
  6. 物理サーバの考慮を後回しにできる点
  7. モダンなエコシステム

Dockerのデメリット

  1. 同一のOSを利用しなければならない
  2. 提供できるホストの種類が少ない
  3. Windowsでの利用ハードルの高さ

仮想マシン(VMware・VirtualBox)について

ここからしばらくDockerから少し離れるので気になる方以外は飛ばしてください。

仮想マシン

仮想マシン技術による仮想化の方式としてホストOS型ハイパーバイザー型があります。

ホストOS型

本来入っているOS(WindowsやMac・Linux)上で仮想化ソフトを使い、その上で仮想マシンを立ち上げる方法。

メリット

・ホストOSが対応していれば、ハードウェア環境にほぼ依存しない。
・管理マシンを必要としない。
・ハイパーバイザー型と比べて手軽に環境構築が可能。

デメリット

・ホストOSが必要な点
・物理リソースが必要な点

ハイパーバイザー型

サーバへ直接インストールし仮想マシンを稼働させる方法

メリット

・ リソースを有効活用できる点
・システムにかかるコストを削減

デメリット

・ 運用コストが割高になる可能性
・ 種類によっては知識や技術が必要な点
(高度な管理を実現するためのツールが標準装備されていない可能性があるため。)

デメリット

見にくいと思うので、表にしてまとめてみます。

仮想マシン コンテナ技術
起動 遅い(パフォーマンスによる) 早い
 OS 各仮想マシンに付き一つ 一つで複数稼働可能
コスト 大きい 小さい
構成 ハードウェアに依存 ハードウェアに依存しない
メモリ消費 大きい 小さい

続けてDockerでよく使われる言葉について説明します。

Dockerでよく使われるワード

Dockerイメージ

OSやアプリケーションを含んだテンプレートのベースイメージ。読み取り専用。
構築(build)コンポーネント

Dockerコンテナ

分離された名前空間とアプリケーションの実行環境
実行(run)コンポーネント

DockerHub(Dockerレジストリ)

公開されているDockerイメージを提供しているプラットフォーム
配布(distribution)コンポーネント

Dockerクライアント

ユーザがコマンドを反抗し、Dockerデーモンと通信を行う

Dockerデーモン

ホストマシン上で動いている。直接ユーザとはやりとりはしない。管理者的な役割を果たす。

次回は実際にDockerを動かしていきます。

1
2
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
1
2