docker:ソフトウェア配信の革新
データベース、依存関係、Cronジョブ - 最新のアプリケーションは複雑です。 それらを展開することは以前は時間のかかる悪夢でしたが、Dockerはそれを変更します。これで、ソフトウェアをほぼあらゆる環境に数秒で展開できます。
キーハイライト
- dockerは、パッケージングアプリケーション、依存関係、およびオペレーティングシステムをコンテナと呼ばれる単一のポータブルユニットにパッケージ化することにより、ソフトウェア配信を簡素化します。これにより、さまざまな環境で一貫したパフォーマンスが保証されます
dockerには一般的な展開の課題に対処します:システムの互換性、予期しない更新、依存関係の競合、サービスボトルネック、セキュリティの脆弱性。
- 物理輸送用コンテナと同様に、ソフトウェアコンテナは信頼できる配達を提供します。通訳、ライブラリ、モジュール、サービス、システム構成、バックエンドツールなど、さまざまなコンポーネントをカプセル化します。
Dockerコンテナは仮想マシン(VM)よりも効率的であり、ホストOSリソースを直接利用して、メモリフットプリントが小さくなり、起動時間が高速になります。 安全な実験のために完全な隔離を提供します
- Dockerは、コンテナの作成、流通、および管理のためのツールとサービスを提供するオープンソースプロジェクトおよび会社です。いくつかの分野での比較的最近の出現と継続的なベータ開発にもかかわらず、その業界全体で広く採用されています。
- ソフトウェアの展開の進化
- ソフトウェアの展開はかつて簡単でした。 プログラミングは挑戦でした。展開は比較的単純でした。
ランプスタック(Linux、Apache、MySQL、PHP)は複雑さを高めましたが、特にコントロールパネルを提供するホスティングプロバイダーでは管理可能なままでした。
ただし、最新のアプリケーションははるかに多様です。 NOSQLデータベース、Node.js、Python、Ruby、およびその他の多くのテクノロジーは、可能性を拡大していますが、展開が大幅に展開されています。
実装の課題
専用サーバーであっても、アプリケーションの展開には、複雑なインストール、構成、メンテナンスが含まれます。 さまざまなサービスと言語を備えた複雑で密接に結合したシステムは、予期しない障害のリスクを高めます。
docker's solution
dockerは、パッケージング
すべてのパッケージ化によって展開を簡素化します。これにより、環境全体で一貫したパフォーマンスが保証され、展開がわずか数分かかります。
一般的な展開の問題への対処
dockerは一般的な展開の問題に取り組んでいます:
- ターゲットシステムとのアプリケーションの非互換性。
- システムは、既存の機能を破る更新を更新します
予期しない問題を引き起こすマイナーな依存関係。-
サービスボトルネックがシステム全体を遅くしています。-
セキュリティ侵害システムコンポーネントの侵害。-
これらの問題は、メンテナンス、テスト、展開の課題を網羅したDevOpsの傘下にあります。 Dockerはこのプロセスを合理化し、時間と欲求不満を短縮します
ソフトウェアコンテナ:アナロジー
標準化された輸送用コンテナについて考えてください:どこにでも出荷することができ、同じ状態で到着します。
ソフトウェアの展開には、この信頼性が欠けていることがよくあります。 別の環境で動作するアプリケーションを取得することは苦労する可能性があり、後で失敗することがよくあります。 ソフトウェアコンテナは、この信頼性をソフトウェアの信頼性を再現することを目的としています
実行可能ファイルとライブラリのみを配布する単純なインストーラーとは異なり(競合を引き起こす可能性がある可能性があります)、ソフトウェアコンテナはカプセル化できます。
通訳(Python、Ruby、PHP)および必要なモジュール
ランタイムライブラリ。
特定のモジュールバージョン。
- 必要なサービス(Webサーバー、データベース)
システムの微調整。-
バックエンドツール(Cron Jobs)。-
- 合理化された操作
- コンテナは操作を大幅に簡素化します。 1つの大きなコンテナの代わりに、異なるコンポーネント(アプリケーションコア、Apache、MySQL)に複数のコンテナを使用して、モジュラーで管理しやすいシステムを作成できます。
いつ使用するか、いつソフトウェアコンテナを使用しないか-
理想的なユースケース:
バックエンドテクノロジーを備えたWebアプリケーション。
Scalable Services(Web、データベース)。
特定のセットアップ要件(OS、ツール、環境変数)を備えたアプリケーション。
簡単に共有可能な開発環境。
安全なテストのためのサンドボックス。
ゆるく結合されたコンポーネントを備えたシステム。-
- 適切なユースケースが少ない:
-
-
クライアント側のWebアプリケーション(HTML、CSS、JavaScript)。-
簡単なデスクトップアプリケーションは、インストーラーを介して簡単に配布されます。-
Linuxと互換性のない
Windowsベースの環境。
dockerの理解
Dockerは、ソフトウェアコンテナ内でアプリケーションの展開を自動化するオープンソースプロジェクトおよび会社です。 その迅速な採用は、その比較的短い歴史と一部の分野で進行中のベータ機能を考えると、印象的です。
- ship:Docker Hubまたはプライベートリポジトリを介して画像を配布します。
run:- dockerがインストールされているシステム上の画像からコンテナを起動します。
docker- を始めましょう
Dockerには64ビットOS(Windows 7以降、OS X 10.8以降、または3.10カーネル以上のLinux)が必要です。 WindowsおよびMacユーザーは、Linux VMをセットアップするためにDockerツールボックスが必要です。 Linuxユーザーは、Dockerエンジンを直接インストールします。 インストール手順については、公式ドキュメントを参照してください
インストールしたら、公式のDocker Getsing Guide Guideをフォローして、コンテナを構築および実行します。 SitePointは、テクノロジー固有のDockerチュートリアルを提供しています
dockerはコマンドラインツール以上のものです。これは、作成から大規模なインフラストラクチャ全体の展開まで、コンテナ管理のエコシステムです。
よくある質問(FAQ)
提供されたFAQSセクションは、一般的なDockerの質問に正確に対処されているため、ほとんど変わらないままです。 明確さと正確性を維持するために、言い換えは必要ありません
以上がDocker、コンテナ、より安全なソフトウェア配信の理解の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。