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 を使用してシンプルなスイッチ ライト コードを実装する

体の部位: <button>ライトのオン/オフを切り替える</button>...

IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ

1. プラグインを追加し、pomファイルの下に次の設定を追加します。 <!-- mybatis...

JSブラウザイベントモデルの詳細な説明

目次イベントとは簡単な例イベントをバインドする方法フレームワーク内のイベントイベントオブジェクトイベ...

MySQL のメモリ使用量と CPU 使用率が高い場合のテストと解決策

変更後: innodb_buffer_pool_size=576M ->256M InnoDB...

非常に優れた CSS スキル 10 選のコレクションと共有

ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...

初心者向けMySQLシリーズチュートリアル

目次1. 基本概念と基本コマンド1) 基本的な概念2) 基本コマンド2. SQL文の記述順序と実行順...

クリエイティブな会社概要ウェブページデザイン

ユニークな「About」ページ自分を他の人たちと差別化する素晴らしい方法は、本当にユニークな自己紹介...

シェルスクリプトはNginxのaccess.logのPVを定期的にカウントし、APIに送信してデータベースに保存します。

1. PVとIPの統計一日のPV(ページビュー)をカウントする cat access.log | ...

Ubuntu サーバーで MySQL を設定し、リモート接続を実装する方法

サーバー: Ubuntu Server 16.04 LSSクライアント: Ubuntu 16.04 ...

CSS の位​​置属性 (absolute|relative|static|fixed) の概要と応用

まず、CSS3 Api の position 属性の定義を見てみましょう。 static: 特別な配...

Vue の高度な使用方法チュートリアル 動的コンポーネント

目次基本的な説明AST 解析レンダリング機能通常コンポーネントと動的コンポーネントの比較ファクトリ関...

CSSはヒントボックス、バブルボックス、三角形を作成します

場合によっては、ページにプロンプ​​ト ボックスやバブル ボックスが必要になることがあります。CSS...

JavaScript デザインパターン コマンドパターン

コマンド パターンは、JavaScript デザイン パターンにおける動作デザイン パターンです。定...

CSS3 を使用して色付きのプログレスバーアニメーションを実装する例

簡単なチュートリアルこれは CSS3 カラー プログレス バー アニメーション効果です。 CSS3 ...

JavaScriptは入力ボックスコンポーネントを実装します

この記事では、入力ボックスコンポーネントを手動で実装するための具体的なコードを参考までに紹介します。...