Docker のインストールと構成イメージの高速化の実装

Docker のインストールと構成イメージの高速化の実装

Dockerバージョン

Docker の急速な発展とエンタープライズ レベルの機能のリリースにより、より優れたサービスには一定の料金を支払う必要があります。現在、Docker は次の 2 つのバージョンに分かれています。

  • コミュニティエディション
  • エンタープライズエディション

Docker Enterprise Edition (EE) は、エンタープライズ開発チームと IT チームがビジネスクリティカルなアプリケーションを大規模に本番環境で構築、出荷、実行できるように設計されています。 Docker EE は統合、認定、サポートされており、企業に業界で最も安全なコンテナ プラットフォームを提供し、すべてのアプリケーションを最新化します。アプリケーション中心のプラットフォームである Docker EE は、あらゆるインフラストラクチャ上で実行される開発から本番環境まで、ソフトウェア サプライ チェーン全体を高速化し、保護するように設計されています。

CE コミュニティ エディションを使用して Docker を学習できます。

CentOS に Docker エンジンをインストールする

Docker は Mac、Windows、Linux をサポートしています。この記事では、Linux 環境を使用して、Docker をインストールし、CentOS に基づいてイメージ アクセラレーションを構成する方法を説明します。

公式ドキュメント: https://docs.docker.com/

システム要件

公式ウェブサイトでは、Docker Engine をインストールする場合は CentOS 7 以上の安定バージョンが必要であると案内されています。

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

古いバージョンの Docker では、 dockerまたはdocker-engineが使用されていました。 これらのプログラムがインストールされている場合は、それらおよび関連する依存関係をアンインストールします。

sudo yum dockerを削除します\
     dockerクライアント\
     docker-client-最新 \
     docker-common \
     docker-最新 \
     docker-最新-logrotate \
     docker-logrotate \
     dockerエンジン

Docker イメージ、コンテナ、データ ボリューム、ネットワーク データはすべて/var/lib/docker/に保存されます。新しい Docker Engine パッケージはDocker-ceになりました。

yumソースの設定

yum-utilsパッケージ ( yum-config-managerプログラムを提供) をインストールし、安定した yum リポジトリを設定して Docker Engine をダウンロードします。

# yum-utilsをインストールする
sudo yum インストール -y yum-utils
# Docker Engine のダウンロードを容易にするために、yum ソースを Alibaba Cloud に設定します
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Dockerのインストール

Docker エンジンとコンテナーの最新バージョンをインストールします。

sudo yum インストール docker-ce docker-ce-cli containerd.io

インストール中に GPG キーを受け入れるよう求められた場合は、フィンガープリントが 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35 と一致することを確認し、一致する場合は受け入れます。

Dockerの起動と停止

# Dockerを起動する
sudo systemctl dockerを起動します
# Dockerを停止する
sudo systemctl でdockerを停止します
# Dockerを再起動
sudo systemctl dockerを再起動します
# 起動設定 sudo systemctl enable docker
# docker ステータスを表示 sudo systemctl status docker
# docker でコンテナの実行ステータスを表示する sudo docker stats
# docker の概要情報を表示する sudo docker info
# docker ヘルプドキュメントを表示する sudo docker --help

インストール検証

[root@localhost ~]# docker -v
Docker バージョン 19.03.12、ビルド 48a66213fe
[root@localhost ~]# docker バージョン
クライアント: Docker Engine - コミュニティ
 バージョン: 19.03.12
 APIバージョン: 1.40
 Goバージョン: go1.13.10
 Gitコミット: 48a66213fe
 作成日: 2020年6月22日月曜日 15:46:54
 OS/アーキテクチャ: linux/amd64
 実験的: 偽

サーバー: Docker Engine - コミュニティ
 エンジン:
 バージョン: 19.03.12
 API バージョン: 1.40 (最小バージョン 1.12)
 Goバージョン: go1.13.10
 Gitコミット: 48a66213fe
 作成日: 2020年6月22日月曜日 15:45:28
 OS/アーキテクチャ: linux/amd64
 実験的: 偽
 コンテナ:
 バージョン: 1.2.13
 Gitコミット: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 ランク:
 バージョン: 1.0.0-rc10
 Gitコミット: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
 バージョン: 0.18.0
 Gitコミット: fec3683

画像アクセラレーションの設定

DockerはDocker Hubからイメージをpullします。海外から取得するため速度が遅く、以下のような状況が発生することがあります。

[root@localhost ~]# docker run hello-world
ローカルでイメージ 'hello-world:latest' が見つかりません
docker: デーモンからのエラー応答: https://registry-1.docker.io/v2/library/hello-world/manifests/latest を取得: net/http: TLS ハンドシェイクがタイムアウトしました。
「docker run --help」を参照してください。

国内の画像ソースを設定して取得速度を上げることで、中国からの画像を取得できます。ここでは、中国科学技術大学 (LUG@USTC) のオープンソースミラー (https://docker.mirrors.ustc.edu.cn) と NetEase のオープンソースミラー (http://hub-mirror.c.163.com) を紹介します。

USTC は老舗の Linux イメージ サービス プロバイダーであり、Docker イメージ アクセラレーション サービスは非常に高速です。 USTC と NetEase の利点の 1 つは、登録が不要で、真に公共のサービスであることです。 (Alibabaなどの他のサービスプロバイダーのミラーアクセラレーションサービスもご利用いただけます)

ファイルdaemon.jsonを編集します。

:vi /etc/docker/daemon.json を編集します。

ファイルに次の内容を入力して保存します。

{
 "レジストリミラー": ["http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn"]
}

構成情報を再読み込みし、Docker サービスを再起動します。

# サービスの設定ファイルを再読み込みする sudo systemctl daemon-reload
# Dockerを再起動
sudo systemctl dockerを再起動します

こんにちは世界

hello-worldイメージを実行して、 Docker Engine正しくインストールされていることを確認します。

[root@localhost ~]# docker run hello-world
ローカルでイメージ 'hello-world:latest' が見つかりません # hello-world イメージの最新版が見つかりません: library/hello-world からプルしています # hello-world イメージの最新バージョンをプルします 0e03bdcc26d7: プルが完了しました 
ダイジェスト: sha256:49a1c8800c94df04e9658809b006fd8a686cab8028d33cfba2cc049724254202
ステータス: hello-world:latest の新しいイメージをダウンロードしました

# このメッセージが表示されたら、インストールは成功です。
Dockerからこんにちは!
このメッセージは、インストールが正常に動作していることを示しています。

このメッセージを生成するために、Docker は次の手順を実行します。
 1. Docker クライアントが Docker デーモンに接続しました。
 2. Docker デーモンは Docker Hub から「hello-world」イメージを取得しました。
 (amd64)
 3. Dockerデーモンは、そのイメージから新しいコンテナを作成し、
 現在読んでいる出力を生成する実行可能ファイル。
 4. Dockerデーモンはその出力をDockerクライアントにストリーミングし、Dockerクライアントはそれを
 端末に。

もっと野心的なことに挑戦するには、次のコマンドで Ubuntu コンテナを実行できます。
 $ docker run -it ubuntu bash

無料の Docker ID を使用して、イメージを共有したり、ワークフローを自動化したりすることができます。
 参考:

その他の例やアイデアについては、以下をご覧ください。
 詳しくはこちら

docker run hello-worldコマンドの実行フローチャートは以下のようになります。

上記の手順で、Docker のインストール作業はすべて完了しました。次に、イメージ コマンドとコンテナー コマンドを学習して、Docker の使い方をよりよく理解することができます。

Dockerのインストールとイメージアクセラレーションの設定についてはこれで終わりです。Dockerのインストールとイメージアクセラレーションの詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerイメージ構築原理の分析(Dockerをインストールしなくてもイメージを構築できる)
  • Dockerパッケージイメージの実装と構成の変更
  • Docker ロード後にイメージ名が none になる問題の解決方法
  • Dockerでイメージ情報を表示する方法
  • Dockerを使用してクローンリポジトリを使用してGitイメージを構築する
  • Docker イメージのダウンロードが遅すぎる場合の解決策

<<:  W3C チュートリアル (11): W3C DOM アクティビティ

>>:  ethers.js を使用して Solidity スマート コントラクトをデプロイする方法

推薦する

JS を使用して航空機戦争の小さなゲームを実装する

この記事の例では、参考のために航空機戦争ゲームを実装するためのJSの具体的なコードを共有しています。...

LinuxサーバーでRabbitMQ管理ページにアクセスできない問題を解決

私のプロジェクトの特定の機能ではサーバーが rabbitmq にメッセージを送信する必要があるため、...

Baidu デッドリンクファイルを作成する方法

Baidu によって定義されているデッドリンク形式には 2 種類あります。 1: XML形式のデッド...

VMware+centOS 8 で http プロトコルに基づく Git サービスを構築する方法

目次1. 原因2. デバイス情報3. 準備4. Apacheをインストールする5. gitを設定する...

Vue シングルページ SEO の 4 つのソリューションについての簡単な説明

目次1.Nuxtサーバーサイドレンダリングアプリケーションの展開(SSRサーバーレンダリング)利点:...

React Stateの状態とライフサイクルの実装方法

1. コンポーネントの実装方法:組件名稱首字母必須大寫1. JS関数を通じてコン​​ポーネントを実装...

Linuxカーネルとデバイスツリーのコンパイルと書き込みを分析する

目次1. 材料を準備する2. Linuxカーネルファイルをダウンロードする3. コンパイル4. TF...

MySQLログシステムの使い方に関する簡単なチュートリアル

目次序文1. エラーログ2. バイナリログ1. バイナリログを有効にする2. バイナリログ形式3. ...

Vueはコンピュータカメラを呼び出して写真機能を実現します

この記事の例では、コンピュータカメラを呼び出して写真機能を実現するためのvueの具体的なコードを参考...

mysql 基本操作文コマンドの詳細な説明

1. MySQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

モバイル Web アプリ上の画像が鮮明ではなく、非常にぼやけているのはなぜですか?

なぜ?最も簡単に言えば、ピクセルは均等ではないということです。携帯電話に表示される写真はとても繊細に...

UnityはMySQLに接続し、テーブルデータの実装コードを読み取ります

表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...

MySQL解凍版のインストール手順の詳しい説明

1. 公式サイトにアクセスします: D:\mysql-5.7.21-winx64\bin をダウンロ...

SQLは、隣接する2行のデータに対して加算、減算、乗算、除算の演算を実行します。

SQL は、データを特定の順序で並べ替え、特定のフィールドでグループ化した後、隣接する 2 つのデ...