違い: 1. Docker はアプリケーションのすべての構成をコンテナにパッケージ化し、移植可能です。LXC はプロセスのサンドボックス化のみを実装し、別のマシンに移植することはできません。2. Docker はアプリケーション用に設計されています API、ユーザーインターフェイス、設計原則、ドキュメントはデプロイメントに合わせて最適化されていますが、LXC はコンテナーのみに焦点を当てており、あまり最適化されていません。
このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
lxc と docker の違いは何ですか
Docker は LXC の代わりではありません。Docker の最下層は、次の LXC を使用して実装されます。 。 LXC サンドボックスは Linux プロセスを相互に分離し、各プロセスのリソース割り当てを制御できるようにします。
LXC に基づいて、Docker は一連の強力な機能を提供します。
移植性
Docker は、アプリケーションとその依存環境を単一のオブジェクトにパッケージ化し、Docker とマシン上で共有される任意のインストール環境にインストールできる新しい形式を定義します。このオブジェクトをどのマシンで実行しても効果は同じです。 LXC はプロセス サンドボックスのみを実装しており、別のマシンに移植することはできません。 Docker はすべてのアプリケーション構成を抽象化し、それらをコンテナーにパッケージ化して、コンテナーを移植可能にします。
アプリケーション中心
Docker はアプリケーションのデプロイメントに最適化されており、それが API、ユーザー インターフェイス、設計原則、ドキュメントに反映されています。 LXC は、軽量サーバーとしてのコンテナーのみに焦点を当てています。
自動構築
Docker は Dockerfile をサポートしています。アプリケーションのすべての依存関係、ビルド ツール、パッケージはソース コードの形式で Dockerfile に書き込まれ、Docker は次のことを行うことができます。 Dockerfile がイメージをビルドします。このイメージはどのマシンでも同じように実行されます。
バージョン管理
Docker はコンテナに Git のようなバージョン管理機能を提供し、バージョンのロールバックなどの機能をサポートします。 Docker は増分アップロードおよびダウンロード機能も実装しており、アップロードおよびダウンロード中に帯域幅リソースを節約します。
コンポーネントの再利用
1 つのイメージをベース イメージとして使用して、より具体的なイメージを作成でき、イメージ間でのマルチレイヤーの再利用がサポートされています。
画像共有
Docker は、一般的に使用されるさまざまなイメージを含む Docker Hub を開発しました。これは非常に便利です。また、独自のイメージを Docker にアップロードすることもできますハブの真ん中。ユーザーは、イメージの内部共有に対応するために、プライベート環境に独自の Docker ウェアハウスを構築することもできます。
ツール エコシステム
Docker は、コンテナの作成とデプロイを自動化およびローカライズするための API を定義します。 Deis、mesos、docker-ui、jenkins など、Docker と統合されたツール セットがすでに多数あります。
推奨される学習: 「docker ビデオ チュートリアル 」
以上がlxc と docker の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。