Docker(ドッカー)とは、オープンソースのコンテナ型仮想化ソフトウェアです。ソフトウェアコンテナ内のアプリケーションデプロイメントを自動化します。

オープンソースの仮想化ソフト/Dockerとは

Docker(ドッカー)とは、オープンソースのコンテナ型仮想化ソフトウェアです。ソフトウェアコンテナ内のアプリケーションデプロイメントを自動化します。

「Docker」基本情報

■概要

Docker(ドッカー)とは、オープンソースのコンテナ型仮想化ソフトウェアです。ソフトウェアコンテナ内のアプリケーションデプロイメントを自動化します。

■基本説明

Dockerは、性能面での劣化を極力排除したコンテナ技術を採用しており、アプリケーション/OSをパッケージイメージ化することにより極めて集約度の高いITシステムを実現することができます。

Dockerは、API提供/既存成果物の入手/成果物アップロードなどで、効率よく成果物管理/リユースする仕組みがあります。そして、それらの一連の作業を自動化する仕組みも備わっています。

クラウド基盤ソフトウェアに比べて、導入のハードルが比較的低く、簡単に試すことができます。そのため、多くの開発者やIT部門の管理者での利用が急激に広まっています。

コンテナ管理の手軽さ/インスタンス操作の高速性は、クラウドサービス/ビッグデータ基盤などを管理するためのIT基盤として高く評価されています。

Dockerは、コンテナ型仮想化ソフトウェアのデファクトスタンダードになる勢いで、中小規模からエンタープライズ規模まで、さまざまな領域で幅広く利用されています。

■「コンテナ型仮想化」とは

Dockerは「コンテナ型仮想化」と呼ばれる仮想化技術を利用しています。

1つのOSにコンテナといわれる「独立したサーバと同様の振る舞いをする区画」を複数作り、それを個別のユーザ/サービスに割り当てます。同じOS上に構築するため、すべてのコンテナは同じOSしか使えません。

コンテナには、個別にCPU/メモリ/ストレージなどを割り当てる必要がないため、システムリソースのオーバーヘッドが少なくて済みます。そのため、同じ性能のハードウェアならば、より多くのコンテナを作ることができます。

■Dockerの構成

一般的に「Docker」と呼ばれているコンテナ管理技術は「Docker Engine」が正式名称となっています。

「Docker Engine」に、アプリケーション開発/配布用Webサービス「Docker Hub」、API、サードパーティエコシステムなどを含めたプラットフォーム全体の総称が「Docker」となっています。

■経緯

DotCloud社(現 Docker Inc.)が、開発者/IT部門をターゲットとしたアプリケーションやOSの開発/配備を行うための基盤ソフトウェアとして開発し、2013年にリリースしました。

このソフトウェアは、オープンソースソフトウェア「Docker」として公開され、その使い勝手の良さから、多くの開発者/IT部門の管理者で瞬く間に利用されていきました。

■オフィシャルサイト情報

オフィシャルサイト

→Docker →Docker Engine

ライセンス情報

Dockerのライセンスは「Apache License Version 2.0」です。

詳細について、こちらを参照ください。
→GitHub →docker/docker-ce →LICENSE

ダウンロード

→Docker Hub →Docker CE

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「gVisor」など。

「Docker」の主な特徴

■インフラのコード化(Infrastructure as Code)

Dockerはコンテナ構成を、すべて「Dockerfile」というテキストファイルに記述でき、その構成を自動生成することができます。「Infrastructure as Code(インフラのコード化)を実践するプラットフォームとして利用できます。

■不変のインフラ構成(Immutable Infrastructure)

ITキーワードとして「Immutable Infrastructure(不変のインフラ構成)」というものがあります。アプリ実行環境を一度限りの使い捨てとして、環境を何度も作り直すことによって構成変更を行い、アプリの実行環境をより管理しやすくしていく考え方です。

Dockerのイメージ自体は起動されても更新は保存されません。明示的な保存(コミット)をしなければコンテナ破棄時に変更分が消えてしまいます。Dockerではこの仕様を、AUFSというファイルシステムを利用して実現しています。

Dockerには、「Immutable Infrastructure」を実現するために必要な機能がそろっているため、実際の環境に適用できます。

■オープンソース

Dockerには、新しい独自技術は、ほとんど使われていません。コンテナ管理に必要となる既存のOSSを組み合わせて、コマンドライン/REST APIで効率良くコンテナ管理ができるようになっている点が、広く支持され、注目されている理由となっています。

Docker最新TOPICS

【講演資料を公開】11/15 Docker、Kubernetesなど「コンテナ技術」のクラウドサービス(AWS、Azure、GCP)での活用と、コンテナ時代のシステム運用(2018年12月15日 09:15)

2018年11月15日(木)13:30~17:30 株式会社インターネットイニシアティブ本社 13階セミナールーム にて 『Docker、Kubernetesなど「コンテナ技術」のクラウドサービス(AWS、Azure、GCP)での活用と、コンテナ時代のシステム運用』と題したセミナーを開催しました。 当セミナーには、延べ298名ものお申込みを頂戴し、当日は 125名の方がご来場くださいました...

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter