Docker Engine について

あらゆるアプリケーションがどこでも開発、導入、実行できる

Docker とは、開発者やシステム管理者がアプリケーションを開発、導入、実行するためのプラットフォームです。 Docker を使えば、アプリケーションをコンポーネントからすばやく組み立てることができ、コード導入時に発生するコード間の相違を軽減できます。 Docker はテストや本番投入も迅速に実現します。

Docker は以下によって構成されます。

  • Docker Engine … 軽量かつ強力なオープンソースによりコンテナ化(containerization)を行う技術。アプリケーションの構築とコンテナ化を行うワークフローを実現します。
  • Docker Hub … アプリケーション層を共有し管理するための Saas サービス。

なぜ Docker なのか?

迅速なアプリケーション配信

  • 私たちはみなさんの環境を良くしたいのです。Docker コンテナおよびこれを利用したワークフローは、開発に関わるすべての人、つまり開発者、システム管理者、品質管理担当者、リリース・エンジニアを含め、コードを本番環境へ適用し実運用させる作業すべてを手助けします。標準的なコンテナ・フォーマットというものが作り出されているので、開発者にとってはコンテナ内にあるアプリケーションの開発に集中するだけでよく、システム管理者やオペレータはデプロイされたコンテナの運用に取り組むだけでよくなります。このように作業を分担することは、コード管理とデプロイを効率化し簡素化することを意味します。
  • 新たなコンテナの構築は容易にできます。さらにアプリケーションを迅速に繰り返して投入することや、変更がわかりやすくなるようにしてます。つまり開発する誰にとっても、アプリケーションがいかに作動し、どのようにして構築されるかを、簡単に理解できるようにもなっているわけです。
  • Docker コンテナは軽量かつ高速です!コンテナの起動時間は数秒であり、開発・テスト・デプロイのサイクルにかかる時間を減らします。

デプロイやスケールをもっと簡単に

  • Docker コンテナは(ほとんど)どこでも動きます。コンテナのデプロイは、デスクトップ、物理サーバ、仮想マシンに対して行うことができます。さらにデータセンタやパブリック・クラウド、プライベート・クラウドにもデプロイできます。
  • Docker は多くのプラットフォーム上で動作するので、開発したアプリケーションをあちこちに動かすことが簡単にできます。アプリケーションは、テスト環境からクラウド上に簡単に移動でき、必要に応じてすぐに戻すこともできます。
  • Docker の軽量なコンテナは、スケールアップやスケールダウンもすばやく簡単に実現します。必要なときに必要なだけコンテナをすばやく起動でき、不要になったときには簡単に停止することができます。

処理を集中させ負荷を高く

  • Docker コンテナはハイパーバイザを必要としないため、ホスト上により多くを詰め込むことができます。つまり各サーバの価値を十分に引き出し、機器やライセンスにかかる潜在的なコストを軽減する可能性を秘めています。

管理の容易さを目指してデプロイを迅速化

  • Docker によってワークフローがスピードアップするため、とてつもなく大きな更新を行うのではなく、小さな更新を数多くこなすことが可能になります。小さな更新であればあるほど、リスクは減り更新タイミングを増やすことができます。

このガイドについて

Docker のアーキテクチャ にて以下が示されています。

  • Docker がいかにして動作するかを詳細に
  • Docker のアーキテクチャを理解する
  • Docker の機能を確認する
  • Docker と仮想マシンの違いを見る
  • 一般的な利用例を見る

インストールガイド

インストールのセクション では、さまざまなプラットフォームにおける Docker のインストール方法を示します。

Docker ユーザガイド

Docker についての詳細、あるいは使い方や実装についての疑問を解消するには Docker Engine ユーザガイド を確認してください。

リリースノート

各リリースにおける変更点の概要については、 リリース・ノートの各ページ をご確認ください。

機能廃止に関する方針

Docker の機能変更に際しては、既存機能を削除したり新たな機能に置き換えたりする必要があった場合には、時間をおくことが必要になります。既存機能を削除するにあたっては、ドキュメント内に "deprecated"(廃止予定)とラベル付けするようにします。そして Docker モジュール内には、最低でも3つの安定版がリリースされる間(およそ9ヶ月)は残すようにします。この期間を過ぎたものは削除されることがあります。

ユーザは最新リリースごとに、廃止予定の機能一覧を注意して見ていく必要があります。最新版への移行にあたっては、廃止予定の機能は使わないようにして、(適用可能であれば)できるだけ早くに代替機能を用いるようにしてください。

廃止予定の機能一覧については、廃止予定機能のページ を確認してください。

ライセンス

Docker のライセンスは Apache License, Version 2.0 です。ライセンス条項の詳細は LICENSE を確認してください。

参考

About Docker Engine
https://docs.docker.com/engine/