Docker(ドッカー) 最新情報
バージョンアップ情報Dockerのバージョンアップ情報 |
年間保守サービスDockerの年間保守サービス |
導入支援サービスDockerの導入支援サービス |
活用例・導入事例Dockerの活用例・導入事例 |
|||||||||||
Docker(ドッカー)とは
Docker(ドッカー)とは、Docker社(旧dotCloud社)が開発したオープンソースのコンテナ型仮想化ソフトウェアです。
Linux環境だけでなく2015年4月リリースのバージョン1.6からWindowsクライアントサポートも実装されました。
VirtualBoxなど
Vmware ESXiなど
Docker
Dockerはlibcontainer(※.1)によりOSから分離した「コンテナ」と呼ばれる空間へLinuxシステム(アプリケーション)を実行環境として保存する事できます。
パッケージ化された実行環境は、別Linuxへ配布して実行させる事ができます。
この利点はアプリケーションを導入する際のデプロイ作業を簡単にします。
アプリケーション開発者からみれば、ハードウェア資源の管理・調整から解放させてくれるなど多くのメリットがあり、インフラ技術者・アプリケーション開発者から注目を集めています。
Dockerさえ動作すればクラウド環境への移行、クラウド環境から他クラウド環境への移行など様々な環境への移植や共存が可能です。
Dockerは、コンテナの移植性、簡単なコンテナ管理、インスタンスの操作性などを高く評価され、クラウドやビッグデータ基盤などを管理するためのIT基盤として期待されています。
日経BP社「ITインフラテクノロジーAWARD 2015」グランプリにも選出されている注目のオープンソースソフトウェアです。
Dockerの有償サブスクリプションである品質チェック、法的保証、バグフィックスなどのサービスレベル(SLA)が定義された「Docker Subscription for Enterprise」も提供されています。
DockerはLinuxカーネルに依存したGo言語で開発されています。
(※.1) 初期はLXC(Linux Containers)を実装していましたが、2014年3月よりlibcontainerに変更されました。
Dockerの特長
1) 少ないリソースで動作
コンテナはLinuxカーネル部分をホストOSと共有するためCPU、メモリ、ストレージI/Oなどの必要リソースが少なく、動作も軽いため、ホストOSへのオーバーヘッドは、ほとんど無い。
2) 環境依存のない実行環境(コンテナ)
Dockerが導入されている環境であれば、周辺環境に依存せずにパッケージングされたシステム(アプリケーション)を稼働させることができます。
コンテナにはアプリケーションだけでなく依存するライブラリ・設定ファイルなどもパッケージングできるため、依存ライブラリの不足、設定ミスなどを防止し、簡単にデプロイできます。
3) 実行環境(コンテナ)の配布と共有
Docker社のリポジトリ(DockerHub)では、約50種類のオフィシャルDockerイメージを多数提供しているのでデプロイ作業を大幅に軽減できます。
有償サブスクリプションを契約するとDockerHubのエンタープライズ版(Docker Hub Enterprise)が提供されます。
Linuxシステム(アプリケーション)をコンテナ化すれば、他システムへ簡単に配布する事ができます。
例えばオンプレミス環境のLinuxシステムをコンテナ化し、クラウド基盤でコンテナを稼働させることができます。
「Docker Registry」「Docker Export/Import」という機能を利用すれば、Dockerイメージを異なるホスト間で共有させる事ができるため、開発メンバーが利用する開発環境の整合性維持やデプロイツールとしても利用することができます。
4) コンテナの複数実行による共存
ホストOS上で複数のコンテナを動作させる事が出来るため、本来共存できないLinuxシステム(アプリケーション)を同一筐体で稼働させる事も可能です。
Dockerのライセンス
DockerはオープンソースライセンスのApacheライセンス2.0となっています。
Dockerの有償サブスクリプション「Docker Subscription for Enterprise」についてはお問い合わせください。
Dockerの入手先
Dockerの安定版、最新版は以下よりダウンロード可能です。