練習1のドッキングウィンドウの基礎 - ドッキングウィンドウの紹介とクイックスタート経験

ことは何ドッカー:?この記事のシリーズドッカー最初の記事はについて詳しく説明し、3つの質問を分析するための基礎として、なぜドッカー?迅速ドッカー技術を習得するには?
ドッカーの使用のデモでは記事のこのシリーズはCentOS7が行わ上で、あなたがチュートリアルシリーズをはじめコマンドは、私の以前の書き込みのLinuxを参照してくださいに精通していない基本的なLinux上で動作し使用した場合、読者は、Linuxの予備知識を習得しているものとする基づいています。

A、ドッカー何
単文プロフィール:ドッカーは、コンテナの仮想化技術の一種です。
ドッカーが発生した理由を理解するには、問題のそれはどのようなアドレスは、仮想化技術の下で開発プロセスを見直すべきであるとドッカーさん。

1.1仮想化技術と分類
PS:あなたは私たちがインストールに使用したり、仮想マシンのVMwareと思われる場合は、おそらくあなたは、仮想化技術と経験豊富な問題を抱えています。3.2.1で述べた「インストールする準備ができてシリーズ1のLinuxおよびLinux環境をはじめ」、あなたはこの時点Interl VT-x「はこのホストに遭遇するかもしれないが、Interl VT-xが無効になっているでは記事の私のLinux入門シリーズとして、あなたは、VMwareでLinuxをインストールしたい場合は状態「この問題は、それがBIOSでオープンな仮想化をサポートする必要があります。

仮想化技術は、一般的な概念であり、さまざまな分野が異なる解釈を有することができます。コンピュータの分野で一般的に同じホスト上のサーバ間、システム・リソースの利用率を高めるために、目標と複数のシステムまたはソフトウェアアプリケーションを実行することができるようにリソースのコア抽象化であるコンピューティング仮想化やサーバ仮想化を指し率、コストを削減し、アプリケーションのライフサイクル管理を容易にします。
ハードウェアベースの仮想化と仮想化をベースにしたソフトウェア:二つの一般的なカテゴリの仮想化技術カテゴリに分け。
配置されたオブジェクトのレベルからハードウェアベースの仮想化稀、およびソフトウェアベースの仮想化の真の意味は、仮想化とアプリケーション仮想化プラットフォームに分けることができます。仮想化は、一般的に参照するアプリケーションは、我々は通常、ほとんどの場合、仮想化技術プラットフォームを参照し、ソフトウェアを介してデバイスをシミュレートするために、仮想化技術を指します。
プラットフォームの仮想化は、次のカテゴリに分けることができます。

  • 完全に仮想化
    の基盤となるハードウェアと権限のVM-シミュレートされた環境では、実装プロセス、変更できないゲストオペレーティングシステムの必要性を指します。たとえば、次のようにVirtualBoxは、VMware Workstationの
  • ハードウェア支援による仮想化
    ハードウェアの主な機能とは、変更せずに完全に仮想化ゲストオペレーティングシステムを実装するためのCPUをサポートハンドル敏感な指示を支援することです。現在のIntel-VTやAMD-Vを含む86アーキテクチャのハードウェア支援による仮想化テクノロジで利用できます。たとえば、次のようにVMware Workstationの、Xenの、KVM
  • 仮想化の一部
    のみ、ゲスト・オペレーティング・システムを仮想化ハードウェアリソースの一部については、変更する必要があります。
  • 準仮想化
    クライアントのオペレーティングシステムへのソフトウェアの形で提供されるいくつかのハードウェア・インターフェース、ゲストオペレーティングシステムを変更する必要があります。
  • OSレベルの仮想化
    (カーネルとライブラリを含む)は、複数の仮想オペレーティングシステムのインスタンスを作成することによって単離異なるプロセスにカーネル。我々は通常、このカテゴリに属しているコンテナ関連技術を参照してください、そして、それはこれらの多くのドッカーコンテナ技術の一つです。

あなたはドッカーと仮想化技術との関係を言うなら、私はのように要約することができると思う:ハードウェアレベルからを通じて伝統的な方法の仮想化を実現するために、過去の開発を通して、仮想化技術、徐々にコンテナのレベルに基づいて、今日の一般的なオペレーティングシステムへと進化します道の。ドッカーコンテナやスタンドなど、当技術分野のリーダー。

過去と現在1.2ドッカー
ドッカーコンテナは、オープンソースプロジェクトのGo言語の実装に基づいており、ドッカープロジェクトは、Linux Foundationの参加、およびApacheの契約に従った、すべてのオープンソースプロジェクトがhttps://github.com/docker倉庫に維持されています。
公式サイトが言ったように、アイデアドッカーは、「ビルド船と実行するすべてのアプリケーション、どこでも」、 アプリケーションパッケージを介して、ある(パッケージング)、流通(ディストリビューション)、展開(展開)、実行中(ランタイム)のライフサイクル管理、これは単に、どこでも実行パッケージです。
ドッカーは現在、主要なLinuxディストリビューションなどのWindows、MacOSの、インストールすることができるなど、主要な主流のオペレーティングシステムでサポートされています。こうしたIBM、アマゾン、アズールや他のクラウドプラットフォームなどの主要なクラウドサービスプロバイダは、ドッカーのための統合サポートを提供しますが。
なぜ、ドッカーは、それが急速に発展しますか?
ドッカーの創設者が言ったように、ドッカーはちょうどいい時間と正しいことをやって、適切な場所で、それは実際に私たちの先人のLXCの肩の上に立ってから開発され、何の事故が発生していないのです。通常より多くの詳細については、Linuxのコンテナ技術LXCは言っていない、単にLXCは、開発の長い期間を超えている、ピットの多くを踏ん、その後、主流のLinuxコンテンツ、ポジティブに統合することが言われているLXC(Linuxのコンテナ)それは、ドッカーのの早期誕生への道を舗装していること。
さらに最適化に基づいてドッカーLXCコンテナの経験は、コンテナの技術が普遍的になります。例えば、それは、ユーザーが基本的な操作に集中する必要がないのでことを、物流コンテナ管理を実現するためのさまざまなツールを提供していますバージョン移植アプリケーション、また、大幅に移行することの難しさを軽減、階層型ファイルシステムと効率的なミラー機構を導入しています。早期ドッカーを直接LXCに基づいており、LXCの実現を交換し、より広いコンテナを、達成するためのドライブとして0.9バージョンを開発libcon-tainerプロジェクトの後、支援船を取得しようとすることは、もはやLinuxオペレーティングシステムに限らず、より多くされますセキュリティ、よりオープンでよりスケーラブルな。
これは、Linuxプラットフォーム上でオープンソース技術の数に基づいて、ドッカーは、効率的なアジャイルと軽量コンテナプログラムを提供し、地域の環境の展開と主流のクラウドプラットフォームの様々なサポートします。ドッカーは、展開及び動作は、「ワンストップ」の実用的なソリューションを提供し、アプリケーション開発において初めて言えます。

1.3ドッカーコアコンセプト
ドッカーは、3つのコアの概念が含まれている:ミラー、コンテナ、倉庫、基底関数の一部は、彼らの周りに配置されているので、簡単な第一印象をすることができています。

  • ミラーリングは、
    単にコンテナの後ろに、それによって作成される、パッケージまたは読み取り専用のテンプレートのアプリケーションとその環境として理解することができます。それはあなたがオブジェクト指向プログラミングの経験を持っている場合、それはまた、エンティティクラス(クラス)として理解することができ、仮想マシンイメージに似ています。
  • コンテナは
    、単純に分離し、我々が開発したアプリケーションを実行するために使用され、サンドボックスとして理解しました。仮想マシンが実行されているとして、あなたが理解することができ、それはまた、エンティティクラスCLSSによって作成されたオブジェクトとして理解することができます。ミラーリングは、容器が動的で、静的です。
  • 倉庫
    倉庫はコードリポジトリに似たローカルストレージ・ミラーリング、ドッカー倉庫の統合であるあなたがGitリポジトリとMavenでの経験を持っている場合、それは十分に理解されるだろう。
    ドッカーハブの公式リポジトリが、あまり理想的で、時には海外の速度は、そのようなアリクラウドクラウドクラウド網易ように国内メーカーが、また、当然のことながら、倉庫内のローカルミラーを提供し、独自のプライベート倉庫を構築することができます。

第二には、なぜドッキングウィンドウする必要があり
、我々はドッカーを使用する理由ドッカーの一部が有能であるかを見て、その後、把握しますか?

2.1ドッカー迅速な展開と発展
ドッカーのの概念に関する宣言のように:一つのパッケージには、どこにでも実行します。ドッカーの画像は、私たちが実行して、彼の環境に必要なアプリケーションを開発一緒にパッケージ化することであるので、その利点は、特に迅速な展開と配布機能明白です。
ここでは簡単な例で、我々は以前、単一のサーバーに展開するソフトウェアを開発しているが、何らかの理由で、私たちは別のサーバー上でソフトウェアを展開するとします。通常の状況下で、我々はそれを行う方法に必要ですか?私たちは、展開された動作環境をもう一度繰り返した前述の手順に従って、新しいサーバーにログオンする必要があり、その後、観測を実行するだけでなく、その環境の変化の影響は不明で。ドッカーが何が起こるならば、それはありますか?私達はちょうど、その後起動して実行することができ、適切なイメージをダウンロードする必要があります。高速かつ安心。
それを構築するための一連の記事の前にLNMP環境を覚えていますか?「シリーズ20 - WebサービスのアーキテクチャLNMP戦闘のLinuxのエントリ」、多くの問題を感じていないですか?このプロセスは、以下我々はドッカーが展開交換した場合、それは毎分を処理することができ、半分の時間を持っています。その後、時間が非常に視覚的なコントラストが存在することを、デプロイLNMPにドッカーの道の使用を実証する、私はあなたがドッカーと恋に落ちると信じています。

2.2ドッカーDevOpsチームの利点
ドッカーパッケージを使用してはどこにでも実行し、一度に行うことができます。
ミラーがすでに環境が含まれているため、それがローカルに開発者に何の問題を実行しないように開発は存在しませんが、状況は運転・保守要員の問題が実行します。同時に、それは大いに努力の重複、運用・保守要員の効率的解放を減らし、移動、拡大、更新管理が容易になります。

仮想マシンで2.3ドッカーコントラスト
パフォーマンスの勝利で、コンテナ仮想マシン技術。
そこドッカーコンテナを実行しているアプリケーションに加えて、実質的にシステムのオーバーヘッドを最小限に抑えながら、アプリケーションのパフォーマンスを保証するために、追加のシステムリソースを消費します。
N伝統的な仮想マシンで実行異なるアプリケーションがNの仮想マシンを可能にする、各仮想マシンがある容器にドッカーがちょうどN個のコンテナを起動する必要がありながら、一人で排他的なメモリ、ディスクや他のリソースを割り当てる必要があり、アプリケーションことができます。
これは、起動スピード、パフォーマンス、メモリコスト、モビリティですので、仮想マシンを獲得します。

マイクロサービスで2.4ドッカーアプリケーション
あなたは、開発者の方や技術の開発を理解していればマイクロサービスアーキテクチャは、ソフトウェアの分野における現在の開発のホットな技術の一つであり、私はあなたが、モノマーのアプリケーションやサービスマイクロ二つの用語ということを聞いている必要があります信じています。
ソフトウェアアーキテクチャの進化の過程では、このような私たちは、すべての機能ブロックが一緒に入れているWebシステムなどのアプリケーションのすべての機能が含まれている(例えば、戦争のパッケージとして)ファイリングパッケージと、通常、モノマーのアプリケーションと呼ばれます。あなたは、モジュール式の社内開発プロジェクトかもしれないが、すべてのビジネス機能は、プロジェクトに含まれているが、このような複雑さは、トラブルの展開、低い信頼性の高いです。たとえば、関数が再デプロイする必要があり、わずかな修正、ここで問題のごく一部は、システム全体の問題が発生します。
これらの状況、ひいてはマイクロサービスアーキテクチャに対処するために。あなたはJava開発者であれば、それは主に春ブーツと春のクラウドテクノロジスタックを意味します。それは多くの利点を有しているがマイクロサービス機能は、各小モジュールのための単一のビジネス、スプリット信頼性の高い複雑なシステムを分割するために必要とされるが、それはまた、操作および保守管理の難しさを増します。
マイクロ・サービス・アーキテクチャが、コンテナは少し問題を管理するために多くの時間ですが、ドッカー各ウェル容器のために管理することができ、弾性膨張など、したがってSpringBoot + SpringCloud +ドッカーマイクロサービスアーキテクチャモデルを採用する傾向がある。いったん

2.5ドッカーのBigDataアプリケーションで
しばしばのHadoop、HBaseの、カフカ、飼育係、展開されている伝統的なビッグデータアーキテクチャ FLINK、スパーク非常に低い両方手動または効率を管理するためのスクリプトを使用している場合、およびSOクラスタを、弾性膨張に対処しますまたは減容、移行シナリオも行われる追加の作業のニーズを制御され、容器のドッカーの展開と管理は、このすべてが容易になる場合。
滞在が調整されたように、プレゼンテーションのこの部分は、比較する見返りに、知識を共有する大規模なデータの完了後に従います。

2.6ドッカーのの大手企業でのアプリケーション
ようにJingdongは618、米国のグループのコメントは、テンセント、シーナ、キノコの通りと:ドッカーコンテナ技術とは完全にのような大手企業で検証されています。

  • Jingdongは618でドッカーアプリケーション
    アプリケーションから2016 Jingdongの弾性クラウドチームは、10,000〜150,000ドッキングウィンドウは、618の厳格なテストを通して水の流れをテストするためにフル参加します。
  • 米国のグループのレビューでアプリケーションドッカー
    2015、米国のグループのクラウドチームは買い物をする、ホテル持ち帰り、米国のグループのレビューのためのプラットフォームの前に、列の数を最適化し、完成、水ドッカーコンテナクラスタ管理プラットフォームをテストするために始めたが、猫の目、10以上オンラインビジネスの何百を運ぶ、容器を提供するサービスを、コンピューティング、いくつかの部門では、サービスタイプは、Web、データベース、バッファ、メッセージキューなどをカバーしています。
  • アプリケーションテンセントでドッカー
    テンセントドッカー正式に、2014年10月に発売され、その親ビジネス・オフライン、リアルタイムのオンラインサービスならびにHadoopのMRなどのサービスを含むアプリケーションのコードネームガイア糸スケジューリングプラットフォームの互換性と非ドッキングウィンドウドッキングウィンドウタイプに基づいて、 、スパーク、嵐、ハイブと内部テンセントローツェ、エルメス、ワイドポイントおよびその他のサービスを提供しています。
  • ドッカーシーナマイクロブロギングアプリケーション
    DCP Weibo基づいてドッカーハイブリッドクラウドアーキテクチャ、2014年、2015年のドッキングウィンドウコンテナは冷静2016年に対処する、プライベートクラウドとハイブリッドクラウド+も動的スケジューリングを作っ作ら10億曲のPV、より千台ドッカーハイブリッドクラウドクラスターより千億のデータ、2,000人以上のサーバーのサイズと20以上のサービスモジュールのサイズ、百億HBaseのデータストレージ、。
  • アプリケーションのキノコストリートでのドッキングウィンドウ
    のラインアイテムが2014年クリスマス期間にプライベートな通りを曇らせるキノコ、アプリケーションは、アプリケーションの展開と出版ベースのマイクロサービス、およびPaaSのに分割されています。いくつかのダブル11大きなプロモーションを経験し、それが徐々に一定の規模を形成しています。

三、ドッカー使用する方法
3.1 -関連サイトに
公式サイトを
https://www.docker.com/は、
あなたは、通常の状況下でのCommunity Editionを使用することができ、公式サイトからのCommunity Edition(CE)およびEnterprise Edition(EE)にドッカーを見ることができます。

オンラインドッカー練習
https://labs.play-with-docker.com/
サイトは、人々がプレイして-ドッキングウィンドウブラウザベースの、人、船長ドッカードッカーを学び、製品を開発するために数日を過ごし支援することですPWD、それはドッカーの実験場です。
また、ドッカーラボや試験例が多数含まれ、ユーザーは、あなたが構築し、実行ドッカーコンテナもドッカースウォームモードでクラスタを作成することができ、数秒以内にドッカーコマンドを実行することができます。
ユーザーがさえドッカースウォームモードでクラスタを作成することができますドッカーコンテナを実行して、ユーザーが構築できるブラウザでアルパインLinux仮想マシンの自由を体験することができます。トレーニンググラウンドに加えて、PWDはまた、ラボの多数が含まれており、例えばドッカーによって試験しました。
あなただけの迅速ドッカーを体験したい場合は、あなたも、ローカル環境はすぐに経験をインストールすることができます持っているアカウントを登録したり、直接ドッカーハブは、経験にログインすることを考慮していません。

3.2ドッカーがインストールさ
としては、我々は一般的にLinuxでの使用などのLinux、Windowsの、MacOSの、それ以前のサポートを述べたが、本番環境、この記事では、インストールを実証し、ドッカーのでCentos7を使用します。
ドッカーのインストールは非常に簡単です、ただ、プロンプトの公式ウェブサイトに従ってください。
RPM、YUM、スクリプト:公式サイトでは、インストールの3つの方法について説明しています
以下はYUMの方法を使用してインストール

3.2.1準備仮想マシンは、
IPアドレスを設定し、かつ、干渉を低減ファイアウォールとSELinuxをオフにするためです。
お使いのシステムは、比較的古いyumの更新を必要とする場合は、この手順は必要ありません。

[root@docker ~]# yum update -y

必要なパッケージをインストール3.2.2

[root@docker ~]# yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
...省略部分输出内容
Complete!
[root@docker ~]#

3.2.3設定倉庫

[root@docker ~]# yum-config-manager  --add-repo https://download.docker.com/linux/centos/docker-ce.repo
...省略部分输出内容
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@docker ~]#

ここスマンは、アリの雲のように、国内の倉庫で置き換えることができます場合は、公式リポジトリhttps://download.docker.com/linux/centos/docker-ce.repo、直接使用。

3.2.4インストールドッカー

[root@docker ~]# yum install docker-ce
...省略部分输出内容
Complete!
[root@docker ~]#

三回して、インストールプロセスをyを確認します。スピード、インストールを完了するために、一般的に10分以上で、このプロセス。
その異なるバージョンが異なる場合があります実行するための時間があるため後のバージョン番号、最新のためので、デフォルトのタグ、コンクリートがない場合には、本番環境では、指定したバージョン番号を持ってお勧めします。

3.2.5ドッカーは起動
インストールがドッカーはあなたがドッカーを開始する必要があるので、有効、およびブートに設定されていない完了した後。ドッカーはsystemctlステータスドッキングウィンドウの状態で表示することができます。

[root@docker ~]# systemctl start docker
[root@docker ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@docker ~]# systemctl status docker
  docker.service - Docker Application Container Engine
  Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
  Active: active (running) since Wed 2020-02-26 21:39:22 CST; 1min 30s ago
    Docs: https://docs.docker.com
Main PID: 57003 (dockerd)
  CGroup: /system.slice/docker.service
...省略部分内容

したがって、ドッキングウィンドウインストールして正常に起動し、実行している状態で見ることができます。

ビューバージョン3.2.6ドッカー情報および
ビューバージョン情報

[root@docker ~]# docker -v
Docker version 19.03.6, build 369ce74a3c

[表示]ドッキングウィンドウのインストール情報

[root@docker ~]# docker info
...省略部分内容
Docker Root Dir: /var/lib/docker
...省略部分内容

あなたは、デフォルトのインストールパスは/ var / libに/ドッキングウィンドウを見ることができます。

3.3第一の容器実行する
第一の容器を作成するために、3.3.1を
正式ドッカーハブが提供する私たちのすぐハロー世界のイメージがコンテナを作成した後、コンテナは、それがコンテナを作成し、出力を開始するドッキングウィンドウ実行コマンド機能を使用して作成されますhelloworldの言葉。

[root@docker ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:fc6a51919cfeb2e6763f62b6d9e8815acbf7cd2e476ea353743570610737b752
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
   (amd64)
3. The Docker daemon created a new container from that image which runs the
   executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
   to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/

For more examples and ideas, visit:
https://docs.docker.com/get-started/

[root@docker ~]#

我々は、血管の正常な動作、およびドッキングウィンドウからのハローの出力を見ることができます!
このとき、ドッキングウィンドウの画像の局所的な使用は、ミラーはハロー世界と呼ばれることがわかる、ミラーを表示するためのコマンド。

[root@docker ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        14 months ago       1.84kB
[root@docker ~]#

3.3.2 HelloWorldのコンテナ原理分析は、
コンテナが実際に我々は通常のHelloWorldプログラムがそうであるように、私たちは、Javaや他の言語で開発する必要があり、その後のjarファイルとしてパッケージ化して、javaコマンドを通じて、プログラムを実行している内に、コンテナを実行します実行。このコマンドを実行し、手動で行わなければプログラムのニーズを実行する必要があり、およびドッキングウィンドウでは、我々はjarファイルパッケージを対応のHelloWorldを置くたびに容器に詰め、コンテナのみ実行する必要がある、プログラムはすぐに実行することができ、それは非常に便利ではないでしょうか?
当社は、原則としてハロー世界のコンテナの操作を分析:まず、私たちは「『hello-画像を見つけることができません参照 :ローカルで最新の世界』を」 このプロンプト、ローカルのhello世界のイメージは、彼が自動的にドッカーハブから倉庫に行くんだろうことを示しています画像をダウンロードして、コンテナを作成し、コンテナ内のHelloWorldプログラムを実行し、このプロセスが行わ自動化されています。
そして、このコンテナの開始は、実際には小さなLinuxシステムと同等ですが、非常に高速起動、数秒アップし、前述の利点であると仮想マシンが比較され、実行されています。
なぜそんなに速いについては?そして、それはコンテナに何ですか?どのようなドッキングウィンドウのコマンドを実行することができますか?その後の記事では、あなたは答えを見つけるでしょう。

このようなドッカー環境の準備が完了し、次の記事を起動し、我々は様々なコマンドでドッカーへの形式手法の使用を示します。

オリジナルの記事は、0を発表 ウォンの賞賛0 ビュー584

おすすめ

転載: blog.csdn.net/qq_41490913/article/details/105026670