Dockerのエントリから放棄まで(1)Dockerの導入とインストール

コンテンツ

1.Dockerの概要

1. Dockerとは:

2. Dockerが表示されるのはなぜですか?

3. Dockerと従来のコンテナーの違い:

4.Dockerの基本的な構成

5. Dockerの動作原理:

2. Dockerのインストールと構成(Centosのインストールに基づく)

1.CentOS7以上であることを確認します

2.対応する依存関係をインストールします

3.ウェアハウスミラーリングを設定します

4.インストールが成功したかどうかをテストします


 

1.Dockerの概要

1. Dockerとは:

Dockerは、 Go言語に基づくオープンソースのアプリケーションコンテナエンジンであり、Apache2.0プロトコルに基づくオープンソースです。

Dockerを使用すると、開発者はアプリケーションと依存関係を軽量でポータブルなコンテナーにパッケージ化できます。このコンテナーは、一般的なLinuxマシンに配布でき、仮想化することもできます。

コンテナーは完全にサンドボックスメカニズムを使用しており、相互にインターフェイスはありません(iPhoneアプリと同様)。さらに重要なことに、コンテナーのパフォーマンスオーバーヘッドは非常に低くなっています。

Dockerは、バージョン17.03以降、CE(Community Edition:Community Edition)とEE(Enterprise Edition:Enterprise Edition)に分割されています。

Dockerの主な目標は、「どこでも、あらゆるアプリを構築、出荷、実行する」ことです。つまり、パッケージ化、配布、デプロイ、運用などのアプリケーションコンポーネントのライフサイクルを管理することで、ユーザーのAPP( WEBアプリケーションやデータベースアプリケーション)など)とその動作環境で「イメージワンス、どこでも実行」を実現できます。

Linuxコンテナ技術の出現はそのような問題を解決し、Dockerはそれに基づいて開発されています。アプリケーションはイメージになり、イメージはDockerコンテナーで実行されるインスタンスになり、Dockerコンテナーは、クロスプラットフォームとクロスサーバーを実現するすべてのオペレーティングシステムで一貫性があります。環境を一度設定し、別のマシンに切り替えてワンクリックでデプロイするだけで、操作が大幅に簡素化されます。

概要:実行環境と構成の問題を解決し、継続的インテグレーションを促進し、コンテナー仮想化テクノロジーの全体的なリリースを促進するソフトウェアコンテナー

2. Dockerが表示されるのはなぜですか?

答えは、コンテナを使用することです。Dockerがこれほど急速に開発される理由は、Dockerがこの-----システムのスムーズな移行、コンテナー仮想化テクノロジーのための標準化されたソリューションを提供するためでもあります。

環境構成は非常に面倒で、マシンを変更する場合は、最初からやり直す必要があり、手間と時間がかかります。多くの人が考えていますが、問題は根本的に解決でき、ソフトウェアは環境とともにインストールできますか?つまり、インストール時に、元の環境をまったく同じようにコピーします。開発者はDockerを利用して、コラボレーションコーディングの「自分のマシンで動作する」という問題を解消できます。

サーバー上でアプリケーションの動作環境を構成する前に、さまざまなソフトウェアをインストールするために、通常のeコマースプロジェクトを例として取り上げます。

Java / RabbitMQ / MySQL/JDBCドライバーパッケージなど。これらのものをインストールして構成するのがどれほど面倒かは言うまでもなく、まだクロスプラットフォームではありません。これらの環境をWindowsにインストールする場合は、Linuxに再インストールする必要があります。さらに、オペレーティングシステムをまたがっていなくても、同じオペレーティングシステムを持つ別のサーバーにアプリケーションを移植するのは非常に面倒です。ソフトウェアコーディングの開発/テストが完了した後、出力はコンパイルおよび実行できるプログラムまたはバイナリバイトコードであると伝統的に信じられています(javaが例です)。これらのプログラムをスムーズに実行するために、開発チームは、保守および運用チームがアプリケーションを展開できるように、完全な展開ファイルも準備する必要があります。開発では、すべての構成ファイルとすべてのソフトウェアを運用および保守展開チームに明確に通知する必要があります。使用される環境。ただし、それでも、展開の失敗が頻繁に発生します。Dockerの登場により、Dockerはこれまでの「アプリケーションとしてのプログラム」の概念を打ち破ることができます。イメージ(イメージ)を通じて、オペレーティングシステムのコアが除外され、アプリケーションの実行に必要なシステム環境が下から上にパッケージ化され、プラットフォーム間でのアプリケーションのシームレスな操作を実現します。

3. Dockerと従来のコンテナーの違い:

Dockerと従来の仮想化方法の違いを比較します。*従来の仮想マシンテクノロジーは、ハードウェアのセットを仮想化し、その上で完全なオペレーティングシステムを実行してから、システムで必要なアプリケーションプロセスを実行します。アプリケーションプロセスは、ホストのカーネルであり、コンテナには独自のカーネルがなく、ハードウェア仮想化を実行しません。したがって、コンテナは従来の仮想マシンよりも軽量です。

  • 各コンテナは互いに分離されており、各コンテナには独自のファイルシステムがあります。コンテナ間のプロセスは相互に影響を与えず、コンピューティングリソースを区別できます。

1)従来の仮想マシンテクノロジー:

仮想マシンは、環境とともにインストールするためのソリューションです。Windows10システムでLinuxシステムCentOS7を実行するなど、1つのオペレーティングシステムで別のオペレーティングシステムを実行できます。仮想マシンは実際のシステムとまったく同じように見えるため、アプリケーションはこれを認識しません。基盤となるシステムにとって、仮想マシンは通常のファイルであり、不要な場合は削除でき、影響はありません。他の部分。この種の仮想マシンは、別のシステムを完全に実行します。これにより、アプリケーション、オペレーティングシステム、およびハードウェア間のロジックを変更せずに維持できます。Win10 VMWare Centos7さまざまなCPU、メモリネットワーク構成+さまざまなソフトウェア仮想マシンインスタンス

 

仮想マシンのデメリット:1。リソース使用量の増加2.冗長な手順の増加3.起動が遅い

2)コンテナ仮想化テクノロジー:

Linuxコンテナー(Linuxコンテナー、LXCと略記)Linuxコンテナーは、システムの他の部分から分離された一連のプロセスであり、プロセスをサポートするために必要なすべてのファイルを提供する別のイメージから実行されます。コンテナーによって提供されるイメージには、アプリケーションのすべての依存関係が含まれているため、移植性があり、開発からテスト、本番まで一貫性があります。

Linuxコンテナーは、完全なオペレーティングシステムをエミュレートする代わりに、プロセスを分離します。コンテナーを使用すると、ソフトウェアの実行に必要なすべてのリソースを分離されたコンテナーにパッケージ化できます。仮想マシンとは異なり、コンテナは完全なオペレーティングシステムにバンドルされている必要はなく、ソフトウェアが機能するために必要なライブラリリソースと設定のみがバンドルされています。したがって、システムは効率的かつ軽量になり、あらゆる環境に展開されたソフトウェアが一貫して実行されることを保証します。

4.Dockerの基本的な構成

1)ミラー:

Dockerイメージは読み取り専用のテンプレートです。イメージを使用してDockerコンテナーを作成でき、1つのイメージで多数のコンテナーを作成できます。また、ルートファイルシステムと同等です。たとえば、公式イメージのcentos:7には、centos:7の最小システムのルートファイルシステムの完全なセットが含まれています。コンテナの「ソースコード」に相当するDockerイメージファイルはJavaクラステンプレートに似ており、DockerコンテナインスタンスはJavaの新しいインスタンスオブジェクトに似ています。

2)コンテナ:

1.オブジェクト指向の観点から、Dockerはコンテナー(コンテナー)を使用して、アプリケーションまたはアプリケーションのグループを個別に実行します。アプリケーションまたはサービスはコンテナー内で実行されます。コンテナーは、仮想化された実行環境に似ています。コンテナーは、イメージで作成された実行中のインスタンス。Javaのクラスやインスタンスオブジェクトと同様に、イメージは静的な定義であり、コンテナはイメージの実行時のエンティティです。コンテナは、イメージの標準の分離されたランタイム環境を提供します。これは、開始、開始、停止、および削除できます。各コンテナは、分離された安全なプラットフォームです

2.イメージコンテナの観点からは、コンテナは単純なLinux環境(rootユーザー権限、プロセススペース、ユーザースペース、ネットワークスペースなどを含む)およびその中で実行されているアプリケーションと見なすことができます。

3)倉庫:

リポジトリは、画像ファイルが一元的に保存される場所です。

さまざまなjarパッケージが保存されるMavenリポジトリ、さまざまなgitプロジェクトが保存されるgithubリポジトリ、Dockerが提供する公式レジストリはDocker Hubと呼ばれ、さまざまなイメージテンプレートが保存されます。

リポジトリは、パブリックリポジトリ(パブリック)とプライベートリポジトリ(プライベート)の2つの形式に分けられます。最大のパブリックリポジトリはDockerHub(Docker Hub)です。

まとめ:

ウェアハウス/イメージ/コンテナーの概念を正しく理解する必要があります。

Docker自体は、コンテナー実行車両または管理エンジンです。アプリケーションと構成の依存関係をパッケージ化して、成果物のランタイム環境を形成します。このパッケージ化されたランタイム環境は、イメージイメージファイルです。このイメージファイルを介してのみ、Dockerコンテナインスタンスを生成できます(Javaの新しいオブジェクトと同様)。

画像ファイルは、コンテナのテンプレートと考えることができます。Dockerは、イメージファイルからコンテナのインスタンスを生成します。同じイメージファイルで、同時に実行される複数のコンテナインスタンスを生成できます。

画像ファイル:

イメージファイルによって生成されるコンテナインスタンスは、それ自体がイメージファイルと呼ばれるファイルです。

コンテナインスタンス:

コンテナはサービスを実行します。必要に応じて、コンテナであるDockerクライアントを介して対応する実行中のインスタンスを作成できます。

倉庫:

たくさんの鏡を置く場所です。鏡を倉庫に公開し、必要に応じて倉庫から引き下ろすことができます。

5. Dockerの動作原理:

Dockerは、クライアントサーバー構造のシステムです。Dockerデーモンはホスト上で実行され、Socket接続を介してクライアントからアクセスされます。デーモンはクライアントからのコマンドを受け入れ、ホスト上で実行されているコンテナーを管理します。コンテナーはランタイム環境であり、前述のコンテナーです。あなたはmysqlのデモンストレーションを比較して説明することができます

2. Dockerのインストールと構成(Centosのインストールに基づく)

1.CentOS7以上であることを確認します

Linuxは、次のコマンドを入力してバージョンを確認します

cat / etc/redhat-リリース

2.対応する依存関係をインストールします

1)yum -y install gcc

 

 2)yum -y install gcc-c ++

3.ウェアハウスミラーリングを設定します

公式ウェブサイトで設定されているウェアハウスのURLは、コードをプルすると人生を疑う可能性があることをご存知のとおり、ミラーウェブサイトを再度使用します

ここではAlibabaCloudを使用しています。

1)コンテナイメージサービスを探す

 

 2)個人用バージョンを選択します

3)操作書に従って加速を設定します

 1.構成を変更します

2、systemctlデーモン-リロード

3、systemctl restart docker

4.インストールが成功したかどうかをテストします

1)最初にDockerを起動します

systemctl start docker

2)Dockerのバージョンを確認します

Dockerバージョン

3)ミラーアドレスが正常に構成されているかどうかをテストします

これが私の入力です:docker run hello-world

 これで、Dockerが正常にインストールされました

おすすめ

転載: blog.csdn.net/OMGcome/article/details/123695318