Docker の紹介とインストール、10 分間の入門ガイド

Docker の紹介とインストール、10 分間の入門ガイド

1. Docker とは何ですか?なぜDockerなのか

ショッピング モールを開発していて、ラップトップを使用しており、開発環境が特定の構成になっていると仮定します。他の開発者は異なる環境構成で作業している可能性があります。開発中のアプリケーションは、現在の構成と特定の構成ファイルによって異なります。

さらに、企業には独自の構成とサポートドキュメントのセットを備えた標準化されたテスト環境と運用環境があります。サーバー環境を再作成するオーバーヘッドを発生させずに、これらの環境をできるだけ多くローカルでエミュレートする必要があります。

すみません?これらの環境でアプリケーションが実行され、品質チェックに合格することをどのようにして確認しますか?バージョン管理、構成の問題、コードの書き換え、トラブルシューティングなどの面倒な作業なしに展開できますか?答えはコンテナを使用することです。

Docker が急速に発展した理由は、この問題に対する標準化されたソリューション、つまりスムーズなシステム移行とコンテナ仮想化テクノロジーを提供しているからです。環境設定がかなり面倒です。機械を変更する場合は最初からやり直す必要があり、手間と時間がかかります。この問題が根本的に解決され、ソフトウェアを環境にインストールできるかどうか疑問に思う人も多いのではないでしょうか。つまり、インストール時に元の環境をそのままコピーすることになります。

開発者は、コーディングの共同作業時に「自分のマシンでは動作する」という問題を解消するために Docker を使用します。以前は、サーバー上でアプリケーションの動作環境を構成するには、さまざまなソフトウェアをインストールする必要がありました。例えば、Shang Silicon Valley 電子商取引プロジェクトの環境では、Java/RabbitMQ/MySQL/JDBC ドライバー パッケージなどをインストールする必要があります。これらをインストールして設定するのは面倒なだけでなく、クロスプラットフォームでもありません。

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

簡単に言えば、オペレーティング環境と構成の問題を解決するソフトウェア コンテナー、継続的な統合と全体的なリリースを容易にするコンテナー仮想化テクノロジーです。

2. Docker で何ができるのか?

  • アプリケーションの配信と展開の高速化
  • アップグレードと拡張が簡単
  • システムの運用と保守が容易
  • コンピューティングリソースのより効率的な使用

3. Docker公式サイト

  • 公式サイト: Docker: 高速化されたコンテナ化されたアプリケーション開発
  • リポジトリ: Docker Hub

4. Dockerの基本コンポーネント

  • 画像

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

  • 容器

オブジェクト指向の観点から見ると、Docker はコンテナを使用して 1 つまたは複数のアプリケーションを独立して実行します。アプリケーションまたはサービスはコンテナ内で実行されます。コンテナは仮想化されたオペレーティング環境に似ています。コンテナはイメージを使用して作成された実行中のインスタンスです。 Java のクラスやインスタンス オブジェクトと同様に、イメージは静的な定義であり、コンテナーは実行時のエンティティです。コンテナーは、イメージに対して起動、開始、停止、および削除が可能な標準的で分離されたオペレーティング環境を提供します。各コンテナは分離された安全なプラットフォームです。イメージ コンテナの観点から見ると、コンテナは簡略化された Linux 環境 (ルート ユーザー権限、プロセス空間、ユーザー空間、ネットワーク空間などを含む) とその中で実行されるアプリケーションと見なすことができます。

  • リポジトリ

リポジトリは、イメージファイルを保存するための集中的な場所です。さまざまな jar パッケージが保存される Maven リポジトリに似ています。さまざまな git プロジェクトが保存される github リポジトリ。 Docker が提供する公式レジストリは Docker Hub と呼ばれ、さまざまなイメージ テンプレートが保存されます。倉庫は公設倉庫(Public)と私設倉庫(Private)の2種類に分かれます。最大のパブリックリポジトリは Docker Hub (https://hub.docker.com/) で、ユーザーがダウンロードできる膨大な数のイメージが保存されています。国内の公共倉庫としては、Alibaba Cloud、NetEase Cloud などがあります。

5. RHEL7にDockerをインストールする

(1)公式サイトインストールチュートリアルアドレス

CentOS に Docker エンジンをインストールする | Docker ドキュメント。

(2)私のホストマシンはRHELなので、RHELインストールチュートリアルを選択します。まず、システム要件(OS要件)を確認します

#官网英文OS requirements To install Docker Engine, you need a maintained version of RHEL 7, RHEL 8 or RHEL 9 on s390x (IBM Z). Archived versions aren't supported or tested. #官网英文翻译操作系统要求要安装Docker Engine,您需要在s390x (IBM Z) 上安装RHEL 7、RHEL 8 或RHEL 9 的维护版本。不支持或测试存档版本。

ホスト マシンのバージョンを確認するには、コマンド「cat /etc/redhat-release」を使用します。ここで、ホスト マシンのバージョンは 7.4 であり、要件を満たしています。

 [root@crmsqlts ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4 (Maipo) [root@crmsqlts ~]#

(3)古いバージョンをアンインストールする

#官网英文Uninstall old versions Older versions of Docker were called docker or docker-engine. If these are installed, uninstall them, along with associated dependencies. Also uninstall Podman and the associated dependencies if installed already. #官网英文翻译卸载旧版本旧版本的Docker 被称为docker或docker-engine。如果安装了这些,请卸载它们以及相关的依赖项。如果已经安装,还卸载Podman相关的依赖项。

アンインストールコマンド

sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine \ podman \ runc

(4)リポジトリコマンドの設定

これは公式サイトでも要求されている大きな落とし穴です。 Docker Engine をインストールすると、タイムアウトなどの一連の問題が発生します。

 sudo yum install -y yum-utils sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/rhel/docker-ce.repo

推薦する:

 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(5) Docker Engineコマンドをインストールする

sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

注意: Docker Engine をインストールするときに、404 エラーが報告される場合があります。これは yum ソースの問題です。 Alibabaのものと交換することをお勧めします。

コマンドを実行すると、インストールが成功したことを示すこの結果が表示されます。

(6)Dockerの起動

systemctl start docker

(7)Dockerバージョン:Dockerのバージョン情報を見ることができます

docker version

(8) Hello World公式サイト

docker run hello-world

(9)アンインストール

# 关闭docker systemctl stop docker # 卸载yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin # 删除遗留rm -rf /var/lib/docker rm -rf /var/lib/containerd

<<:  人気のビッグモデルはクラウド コンピューティング市場に何をもたらすのでしょうか?

>>:  クラウドコンピューティングの未来を明らかにする

推薦する

ウェブマスターの粘り強さは、小さな一歩を踏み出して千マイルに到達することです

まず、ウェブマスターになろうと奮闘している皆さんに励ましの言葉を送ります。私たちは何度も諦めたくなり...

Webmaster.com からの毎日のレポート: JD.com の交換の抜け穴が見つかり、Google が「.中国」を登録

1. JDチャージプラットフォームに抜け穴があり、2億元を失ったという噂昨日22時30分、JD.co...

ウェブマスターの考え: 強い需要は必ずしも拡大の成功を意味するわけではない

確かに高値で始まって安値で終わるというのは信じやすいと言っても過言ではありません。 NetEase ...

ネットワークマーケティングで優れたウェブサイトコンテンツを作成する方法

顧客が企業のウェブサイトを閲覧する際、商品の選択から最終的な購入に至るまでのプロセスは、ウェブサイト...

Time4vps-1.99 ユーロ/1g メモリ/1T ハードディスク/4T トラフィック/400m ポート

Time4vps は Hostcat に何度も登場しており、公式の情報源によると、設立されてから 1...

Kafka と Druid を使用した Spark ストリーミングの理解

[[326057]]データ エンジニアとして、Spark Streaming、Kafka、Apach...

ramnodeはどうですか? ramnode シアトルデータセンタークラウドサーバーの簡単なレビュー

ramnodeはどうですか? ramnode シアトルはどうですか?西海岸のシアトルは今でも国内ユー...

微博は、QQオンラインショッピングの販売者が預かり金の返還を要求し、テンセントが一部の販売者のQQグループを解散したと報じた。

4月2日、QQオンラインショッピングプラットフォームとJD POPプラットフォームは今晩共同で声明を...

SEO担当者が必ず行うべき最適化の3つのステップ

Baidu 入札におけるキーワードの価格が高騰するにつれ、SEO はより多くの企業やリーダーの間で徐...

SEOはこうして誕生した

これまで企業のウェブサイトの最適化を行ってきましたが、そのほとんどが百度に最適化されていました。特に...

学習を容易にする Kubernetes の 5 つの重要な概念

Kubernetes は、最も人気のあるオープンソースのコンテナ オーケストレーション ソリューショ...

ResearchAndMarkets: 世界のクラウドコンピューティング市場規模は2030年に1兆5,549億4,000万米ドルに達する可能性がある

3月11日、ResearchAndMarketsが発表した最新のレポートによると、世界のクラウドコン...

ウェブサイトランキングの安定性に影響を与える6つの要素

諺にあるように、帝国を征服するのは困難だが、それを維持するのはもっと困難である。弊社のウェブサイトで...

ウェブサイトの記事を更新するときは注意が必要です。そうでないと時間の無駄になります。

Xiaodan は以前、「SEO におけるオリジナル記事の重要性」というタイトルの記事を執筆しました...

テンセントVS今日頭条、戦いの末にユーザーは何を得たのか?

実際、テンセントと今日頭条の間で起こったユーザーのアバターとニックネームに関する事件は、より明確に整...