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

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

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

推薦する

もし百度がなかったら、Google を好きになりますか?

私はこのタイトルを使用するための平手打ちを求めていますか?検索して、バイドゥを使用して、驚くほど驚か...

indovirtue - シンガポールサーバー、中国への直接接続、月額 345 ドル

数年前に事業を開始したシンガポールのホスティングプロバイダー、indovirtue を紹介します。同...

アリババクラウドの神龍アーキテクチャが世界有数のインターネット科学技術成果の一つに選ばれました

11月23日、烏鎮で開催された世界インターネット大会およびインターネット発展フォーラムにおいて、アリ...

知福電子は決済規則違反で2640万元の罰金を科せられた

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています最近、中国...

SEM プロフェッショナルが Facebook 広告を見逃せない 5 つの理由

検索エンジンマーケティングで Facebook 広告を実行すべきかどうかを議論する前に、Facebo...

グリーンラディッシュアルゴリズムはいつも私に思い出させる

これは非常に古い話題です。Baiduは2013年2月19日に公開プラットフォームで新しいアルゴリズム...

virmach: クリスマスの素晴らしいもの、マルチコンピュータルームKVM、Windows付き、年間支払いは15ドルから

virmach は、クリスマス、ボックス デー、新年などの休暇中に再び暖かさをもたらします。いくつか...

NFV+SDNクラウドネットワーク連携によりVNFの完全自動展開を実現

[[232049]] 1. 事業者はデジタル変革プロジェクトを通じて競争力を高め、将来の事業成長をサ...

型破りな要素を活用してBaiduでのウェブサイトのパフォーマンスを向上させる

ご存知のとおり、ウェブサイトの最適化のプロセスには、ウェブサイトのキーワード密度の把握、ウェブサイト...

ページのユーザーフレンドリーなエクスペリエンスを向上させるための小さなデザインの詳細の分析例

ユーザー エクスペリエンスの最適化 (UEO) は頭痛の種です。Web サイトが魅力的でなければ、存...

アリババ:注目を集めるSEO

実のところ、この記事は 2013 年の終わりには書くべきだったのですが、今日まで延期されました。もち...

ウェブサイトのキーワードをマイニングする究極の5つの方法の紹介

多くの人は、ウェブサイトのキーワードをオンライン マーケティングのすべてと見なしています。ウェブサイ...

オラクル、調達を強化して顧客のコスト削減と業務効率の向上を支援

企業がパンデミック後の成長計画を開始する中、コスト削減は依然として優先事項です。デロイトが最近発表し...

通信事業者はインターネットへの移行を「競う」が、共通の抵抗に直面

中国移動:インターネット会社を設立予定、中国電信:法人化して8拠点を運営ITタイムズ記者ハオ・ジュン...