Linux環境にDocker環境をインストールする(落とし穴なし)

Linux環境にDocker環境をインストールする(落とし穴なし)

インストールの前提条件

Docker を使用するには、CentOS システムのカーネル バージョンが 3.10 以降である必要があります。まず、サーバーが Docker をサポートしているかどうかを確認してください。

現在のカーネルバージョンを表示するには、 uname -rコマンドを使用します。

[root@iZbp18425116ezmjdmbdgeZ ~]# uname -r
4.18.0-193.14.2.el8_2.x86_64

私のサーバーは Docker をサポートする 4.18.0 であることがわかります。

ステップ1: システムの残りを確認してクリアし、Dockerの依存関係をインストールする

1.残留物を除去する

[root@iZbp18425116ezmjdmbdgeZ ~]# sudo yum remove docker \
>dockerクライアント\
>docker-client-最新\
>docker-common \
>docker-最新\
>docker-latest-logrotate \
>docker-logrotate \
>docker-selinux \
>docker-engine-selinux \
> dockerエンジン

実行結果

引数に一致しません: docker
引数に一致しません: docker-client
引数に一致しません: docker-client-latest
引数に一致しません: docker-common
引数に一致しません: docker-latest
引数に一致しません: docker-latest-logrotate
引数に一致しません: docker-logrotate
引数に一致しません: docker-selinux
引数に一致しません: docker-engine-selinux
引数に一致しません: docker-engine
パッケージを削除する必要はありません。
依存関係の解決。
治療は必要ありません。
完了!

新しいサーバーをレンタルしているので、依存関係はありません。 (dockerのインストールをスムーズに行うために、やはり実行しました)

Dockerが依存するツールをインストールしてダウンロードする

[root@iZbp18425116ezmjdmbdgeZ ~]# sudo yum install -y yum-utils デバイスマッパー永続データ lvm2

結果

アップグレード:
  デバイスマッパー8:1.02.177-10.el8.x86_64 デバイスマッパーイベント8:1.02.177-10.el8.x86_64                      
  デバイスマッパーイベントライブラリ8:1.02.177-10.el8.x86_64 デバイスマッパーライブラリ8:1.02.177-10.el8.x86_64                       
  デバイスマッパー永続データ-0.9.0-4.el8.x86_64 dnf-4.7.0-4.el8.noarch                                            
  dnf-data-4.7.0-4.el8.noarch dnf-plugins-core-4.0.21-3.el8.noarch                              
  ima-evm-utils-1.3.2-12.el8.x86_64 libdnf-0.63.0-3.el8.x86_64                                        
  librepo-1.14.0-2.el8.x86_64 libsolv-0.7.19-1.el8.x86_64                                       
  lvm2-8:2.03.12-10.el8.x86_64 lvm2-libs-8:2.03.12-10.el8.x86_64                                 
  python3-dnf-4.7.0-4.el8.noarch python3-dnf-plugins-core-4.0.21-3.el8.noarch                      
  python3-hawkey-0.63.0-3.el8.x86_64 python3-libdnf-0.63.0-3.el8.x86_64                                
  python3-librepo-1.14.0-2.el8.x86_64 python3-rpm-4.14.3-19.el8.x86_64                                  
  rpm-4.14.3-19.el8.x86_64 rpm-ビルドライブラリ-4.14.3-19.el8.x86_64                               
  rpm-libs-4.14.3-19.el8.x86_64 rpm-plugin-selinux-4.14.3-19.el8.x86_64                           
  rpm-plugin-systemd-inhibit-4.14.3-19.el8.x86_64 yum-4.7.0-4.el8.noarch                                            

インストール済み:
  libmodulemd-2.13.0-1.el8.x86_64 tpm2-tss-2.3.2-4.el8.x86_64 yum-utils-4.0.21-3.el8.noarch                

完了!

ここの内容はかなり長いので、最後の部分だけをキャプチャしました

Alibaba Cloud ソフトウェアソースを追加する

[root@iZbp18425116ezmjdmbdgeZ ~]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

結果:

読み込まれたプラグイン: fastestmirror
リポジトリの追加: http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
ファイル http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo を /etc/yum.repos.d/docker-ce.repo に取得します
リポジトリは /etc/yum.repos.d/docker-ce.repo に保存されました

今後、各ソフトウェアはまずAlibaba Cloudのソフトウェアライブラリからダウンロードされます。Alibaba Cloudのウェアハウスにない場合は、docker.hubからダウンロードされます。 (Mavenリポジトリと同じ)

yum キャッシュを更新します (必要なサービスが更新およびダウンロードできるようにするため: docker など)

[root@iZbp18425116ezmjdmbdgeZ ~]# sudo yum makecache 

結果:

[root@iZbp18425116ezmjdmbdgeZ ~]# sudo yum makecache
無効な設定値: /etc/yum.repos.d/CentOS-epel.repo の failovermethod=priority; 設定: ID「failovermethod」の OptionBinding が存在しません CentOS-8 - AppStream 441 kB/s | 4.3 kB 00:00    
CentOS-8 - ベース 437 kB/s | 3.9 kB 00:00    
CentOS-8 - 追加 194 kB/s | 1.5 kB 00:00    
Enterprise Linux 8 用追加パッケージ - x86_64 602 kB/s | 4.7 kB 00:00    
Docker CE 安定版 - x86_64 30 kB/s | 19 kB 00:00    
メタデータ キャッシュが確立されます。

ステップ2: Docker依存環境がセットアップされたら、Dockerをインストールして起動します。

1. Docker (CE-Community Edition) をインストールする

[root@iZbp18425116ezmjdmbdgeZ ~]# sudo yum -y をインストール docker-ce

Docker をダウンロードしてインストールする必要があるため、一部のマシンでは少し遅くなる可能性がありますので、しばらくお待ちください。

結果:

インストール済み:
  docker-ce.x86_64 3:18.09.0-3.el7
 
依存関係がインストールされました:
  監査ライブラリpython.x86_64 0:2.8.1-3.el7_5.1 チェックポリシー.x86_64 0:2.5-6.el7 コンテナselinux.noarch 2:2.68-1.el7
  コンテナd.io.x86_64 0:1.2.0-3.el7 docker-ce-cli.x86_64 1:18.09.0-3.el7 libcgroup.x86_64 0:0.41-15.el7
  libseccomp.x86_64 0:2.3.1-3.el7 libsemanage-python.x86_64 0:2.5-11.el7 libtool-ltdl.x86_64 0:2.4.2-22.el7_3
  ポリシーコアユーティリティ-python.x86_64 0:2.5-22.el7 python-IPy.noarch 0:0.75-6.el7 setools-libs.x86_64 0:3.3.8-2.el7
 
依存関係が更新されました:
  監査.x86_64 0:2.8.1-3.el7_5.1 監査-libs.x86_64 0:2.8.1-3.el7_5.1 libselinux.x86_64 0:2.5-12.el7
  libselinux-python.x86_64 0:2.5-12.el7 libselinux-utils.x86_64 0:2.5-12.el7 libsemanage.x86_64 0:2.5-11.el7
  libsepol.x86_64 0:2.5-8.1.el7 ポリシーコアユーティリティ.x86_64 0:2.5-22.el7 selinux-policy.noarch 0:3.13.1-192.el7_5.6
  selinux-ポリシー-ターゲット.noarch 0:3.13.1-192.el7_5.6
 
完了!

完成をご覧ください!ダウンロードとインストールに成功しました!

2. Dockerサービスを開始する

[root@iZbp18425116ezmjdmbdgeZ ~]# sudo systemctl dockerを起動します

Docker をインストールしたので、Docker が正常に起動できるかどうかをテストしてみましょう。

[root@iZbp18425116ezmjdmbdgeZ ~]# docker 情報

結果:

クライアント:
 コンテキスト: デフォルト
 デバッグモード: false
 プラグイン:
  アプリ: Docker アプリ (Docker Inc.、v0.9.1-beta3)
  buildx: BuildKit でビルド (Docker Inc.、v0.6.3-docker)
  スキャン: Docker Scan (Docker Inc.、v0.9.0)

サーバ:
 コンテナ: 0
  ランニング: 0
  一時停止: 0
  停止: 0
 画像: 0
 サーバーバージョン: 20.10.11
 ストレージ ドライバー: overlay2
  バックアップファイルシステム: xfs
  d_type をサポート: true
  ネイティブオーバーレイ差分: true
  ユーザー属性: false
 ログドライバー: json-file
 cgroup ドライバー: cgroupfs
 Cグループバージョン: 1
 プラグイン:
  ボリューム: ローカル

Docker が正常に起動され、コンテナとイメージの数が 0 であることがわかります。これは、まったく新しい Docker サービスであることを意味します。

3. システムを自動的に起動するように設定する(オプション、自分の習慣に合わせて設定)

[root@iZx4xwfjh1zsdsZ /]# sudo systemctl docker を有効にする
/etc/systemd/system/multi-user.target.wants/docker.service から /usr/lib/systemd/system/docker.service へのシンボリックリンクを作成しました。
[root@iZx4xwfjh1zsdsZ /]#

ここまでで、Docker がダウンロードされ、インストールされました。

Dockerのバージョンを確認する

[root@iZbp18425116ezmjdmbdgeZ ~]# docker -v
Docker バージョン 20.10.11、ビルド dea9396

Docker-ceサービスを削除する

sudo yum 削除 docker-ce

Docker依存関係の削除

sudo rm -rf /var/lib/docker

Linux 環境に docker 環境をインストールする方法についての記事はこれで終わりです (テスト済み、落とし穴なし)。Linux に docker をインストールする方法についての関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Linux での Docker のインストールと展開の例
  • Linux で Docker を使用して MySQL をインストールする手順
  • Golang 勉強ノート: Go1.15 バージョンをインストール (win/linux/macos/docker インストール)
  • Linux 上で docker を使用して mongodb をインストールする方法の詳細な説明
  • LinuxシステムにDockerをインストールするプロセス

<<:  HTML 基本コントロール入門_PowerNode Java アカデミー

>>:  CSSでできるならJavaScriptは使わない

推薦する

Reactでコンポーネントを作成する方法

目次序文コンポーネントの紹介クラスコンポーネントの作成状態についてレンダリングについて関数コンポーネ...

Dockerコンテナの接続と通信の実装

ポート マッピングは、Docker を別のコンテナーに接続する唯一の方法ではありません。 Docke...

テーブルを作成するための HTML dl、dt、dd タグとテーブル作成テーブル

ウェブサイトの開発とメンテナンスのコストが削減されるだけでなく、コードもよりセマンティックになります...

MySQLデータベース監視binlogを有効にする手順

序文多くの場合、ユーザーが自分のデータに対して実行する操作に基づいて何かを行う必要があります。たとえ...

win10 で mysql8.0.23 をインストールし、「サービスが制御機能に応答しません」という問題を解決する方法

Windows10にmysqlをインストールする1. 公式サイトからMySQLをダウンロードするウェ...

MySQL の乗算と除算の精度の不一致の問題 (除算後の小数点以下 4 桁)

質問今日、プロジェクト関数を書いていたとき、金額の統計計算を行い、単位を変換する必要がありました。そ...

HTML の長いテキストは、タグの幅を超えると自動的に切り捨てられます。

長いテキストを表示する場合、C# 側で文字をインターセプトする必要があることがよくありますが、長いテ...

MySQL無料インストールバージョンの設定チュートリアル

この記事では、参考までにMySQLの無料インストール構成チュートリアルを紹介します。具体的な内容は次...

シンプルなスネークゲームを実現するネイティブjs

この記事では、スネークゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容...

React リストバーとショッピングカートコンポーネントの使用の詳細な説明

この記事では、Reactリストバーとショッピングカートコンポーネントの具体的なコードを参考までに紹介...

OpenSSL を使用した Kubernetes 証明書の生成の概要

Kubernetes は、基本認証、トークン認証、CA 認証の 3 種類の認証をサポートしています。...

ReactでのsetStateの使用と同期と非同期の使用

React では、this.state を使用して状態を直接変更しても、コンポーネントは再レンダリン...

ウィンドウとLinuxプロジェクトを展開する際のLinuxファイルパスに問題はありません

長い間ブログを書いていませんでした。先週、プロジェクトをテストしたところ、いくつかのバグが見つかりま...

SQL Server コメントのショートカット キー操作

SQL Server のバッチコメントバッチ注釈Ctrl + (K, C): Ctrlキーを押しなが...

負荷分散と動的・静的分離を実現するNginx+Tomcatの原理の分析

1. Nginx ロードバランシングの実装原理1. Nginxはリバースプロキシを通じて負荷分散を実...