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

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

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

推薦する

微博 - セルフメディア時代のコミュニケーション力

Weiboは現在、人気のメディアツールの1つになっており、人々が互いにコミュニケーションを取り、情報...

CSS3 背景画像の詳細な理解

月収10万元の起業の夢を実現するミニプログラム起業支援プラン背景画像を設定するには、backgrou...

SEO 442 ルール: マーケティング全体の状況を自分の手で管理する

電子商取引の運営には442ルールがあります。つまり、成功の 40% はマーケティングターゲット、40...

高品質のバックリンクが作成されます

過去1年間、誰もが無料ブログを利用して外部リンクを作成しているのを見てきました。時には、ブログ記事に...

Baidu が「ユーザー エクスペリエンス」を決定する方法

Baidu 検索エンジンは、ウェブサイトに「ユーザー エクスペリエンス」があるかどうかをどのような観...

SEO 担当者:「ウェブサイトの権威性」を正しく理解するにはどうすればよいでしょうか?

月給5,000~50,000のこれらのプロジェクトはあなたの将来ですウェブサイトのランキングに影響を...

#blackfriday# LightCloud·LightCloud- KVM VPS、最低11元/高防御+Jingdun + CN2

LightCloud、ブラックフライデー特別セールがやって来ました。フランスの KVM VPS 2 ...

WeChat のソーシャル リレーションシップ マイクロ コミュニティは模倣か、それとも進歩か?

WeChatで公式通知を受け取りました。WeChat 5.1は内部テストを開始しており、最も重要な機...

クラウドストレージアーキテクチャの技術的特徴と3つの開発方向

クラウドコンピューティングは、個人用 PC とインターネットに続く第 3 の情報革命として知られてい...

IDC の視点から見た AWS の中国での成長

中国では、AWS はパートナーの Sinnet を通じて AWS 中国 (北京) リージョンを運営し...

意見:Facebook による Instagram の買収についてどう思いますか?

【TechWeb Report】4月12日、海外メディアの報道によると、Facebookが月曜日に1...

年間100元以下の最も人気の海外格安クラウドサーバーベンダー

国内のクラウドサーバーは比較的高価なので、より安価なクラウドサーバーを使いたい場合には、やはり海外の...

建国記念日65周年キックオフイベント!

今年のTフロアイベントは、ASフォーラム(私が設立)の水上エリアにて午後9時から開催される予定です!...

Docker 初体験: Docker 独自のカスタマイズされたイメージ

[[421052]] Docker は、Go 言語をベースにしたオープンソースのアプリケーション コ...

百度のトップ3ドライクリーニング店の長所と短所の簡単な分析

著者は現在、ドライクリーニング店のウェブサイトの最適化に取り組んでいます。初心者としては、上位にラン...