LoginSignup
8
1

More than 5 years have passed since last update.

dockerの利点

Last updated at Posted at 2017-12-14

dockerの機能、利点についてまとめます。

dockerが使用している技術

dockerはコンテナによる仮想化方式を提供しているが、それらはdockerがフルスクラッチで作ったものではない。(つまり、Linuxの機能をdockerが使っている。)

代表的な機能

  • LXC (Linux Container)
  • namespaces (プロセスの分離)
  • cgroups (コンテナのリソース制御)
  • AUFS (コンテナイメージの差分管理)

これらの機能はLinuxで提供されるものを使用するため、それを提供するKernelのバージョンに依存する。

dockerのメリット

  • ゲストOSはホストのKernelを直接使用するためオーバヘッドが小さく高速
  • ゲストOSがそれぞれにKernelを持たないため、メモリやディスクの消費量を節約できる。
  • 必要とするリソースが少ないため、多くのゲストOSを起動できる。
  • Kernelを新たに起動する必要がないため、ゲストOSの起動が早い。

また、dockerはコンテナを起動する際に、各コンテナごとのディスク上にデータを持つのではなく、「1つのイメージから複数のコンテナを作る」という方式でゲストを起動する。
これはイメージから起動するコンテナはいつも同じことが保証されている。
そのため、以下の利点もある。

  • コンテナのイメージ(雛形)からコンテナ(実態)を作るため、同一構成のOSを簡単に複数作成できる。
  • テストをパスしたイメージは本番環境でもすぐに使用できる。(開発とデプロイのサイクルが早い)

ここまでのまとめ

  • 基本的な機能はLinuxにもともと搭載されているものを使うから早い
  • 環境そのものを簡単に複製、配布できるので環境構築の手間が省ける(たくさんの人たちが環境構築に苦しめられているはずです。)
  • イメージとしてたくさんのOS(Linuxディストリビューション)が簡単に使えるので、色々試せる

次回は実際にdockerをインストールして動かしてみます。

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