はじめに
新しいCentOS8リリースでは、以前のリリースと比較して多くの革新的な要素が導入されています。最近の記事では、CentOS8の新機能と改善された機能の詳細な分析を提供しています。
重要な変更の1つは、Dockerの公式サポートを提供しないという決定です。代わりに、RHEは、コンテナイメージの作成と管理のための組み込みツールを導入することを選択しました: buildah およびpodman。 これらのツールはDockerと互換性がありますが、実行するためにサーバー/クライアントアーキテクチャは必要ありません。
これらの新しいツールをまだ使用する準備ができていない場合は、このチュートリアル CentOS8にDockerをインストールする方法を説明します。
前提条件
- CentOS8の動作中のインストール
- sudo権限を持つユーザーアカウント
- ターミナルアクセス
- DNFソフトウェアパッケージインストーラー(CentOS 8にデフォルトで含まれています)
- firewalldマネージャーが無効になっています
重要: 重要なセキュリティ機能を無効にすることはお勧めしません。ただし、 firewalld
manager CentOS 8では、Dockerコンテナ内のDNS解決が妨げられています。このチュートリアルには、 disable firewalld
。
DNFを使用してDockerリポジトリを追加する
CentOS 8は、YUMパッケージマネージャーバージョンv4.0.4を使用します。このバージョンは現在、 DNFを使用しています (Dandified YUM)。
DNF ソフトウェアパッケージマネージャーです。 Linuxディストリビューションのパッケージをインストール、更新、および削除します。
DNFを使用して、公式のDockerCEリポジトリを追加して有効にします。ターミナルウィンドウに次のコマンドを入力します。
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
システムは、リポジトリを正常に取得したことを通知します。
sudo dnf repolist -v
画面上の情報は、関連するすべての詳細を提供します。
利用可能なすべてのdocker-ceパッケージを一覧表示するには、次のように入力します。
dnf list docker-ce --showduplicates | sort -r
残念ながら、CentOS8は特定のバージョンの container.id をサポートしていません パッケージ。これは、 docker-ceの一部のバージョンのみを意味します インストールが可能です。
この問題に対処し、DockerをCentOS8にインストールする方法は2つあります。
CentOS8にDockerCEをインストールする
オプション1:依存関係が壊れているパッケージをスキップする
効率的な解決策は、 --nobest
を使用して、CentOS8システムが基準に最適なバージョンをインストールできるようにすることです。 コマンド:
sudo dnf install docker-ce --nobest
インストールでは、最新の候補がスキップされ、必要な containerd.ioを含む最も適切なバージョンがインストールされます。 パッケージ。
yと入力して確認したら 、システムは DockerCE18.06.3.ce-3.el7のインストールに進みます。
よく見ると、インストールで最新バージョンの docker-ceがスキップされていることがわかります。 基準を満たしていないため。
オプション2:containerd.ioパッケージを手動でインストールする
CenOS8にDockerをインストールするための別のオプション containerd.ioをインストールすることです 事前に手動でパッケージ化します。この回避策により、最新の docker-ceをインストールできます。 バージョン。
次のコマンドを使用します:
sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm
yでインストールを確認します 。 containerd.ioの最新バージョンが正常にインストールされました 。
これで、次の簡単なコマンドで最新バージョンのdocker-ceのインストールに進むことができます。
sudo dnf install docker-ce -y
以下の出力は、 docker-ce-3:19.03.5-3.el7.x86_64であることを確認しています。 正常にインストールされました。
Dockerを起動してテストする
Dockerを有効にする
次のコマンドでDockerサービスを有効にして開始します:
sudo systemctl enable --now docker
出力は、シンボリックリンクを作成したことを確認します。
次に、次の短いコマンドを使用して、Dockerがアクティブで実行されていることを確認します。
systemctl status docker
タイムスタンプを確認し、Dockerがアクティブであることを確認します。
Dockerユーザーグループにユーザーを追加
次のコマンドを使用して、ユーザーをDockerグループに追加します。
sudo usermod -aG docker $USER
id $USER
システムがコマンドを実行します。
CentOS8でfirewalldを無効にする
前述のように、Dockerコンテナ内のDNS解決を機能させるにはfirewalldを無効にする必要があります。
CentOS 8でfirewalldを無効にするには、1つの簡単なコマンドで十分です:
sudo systemctl disable firewalld
出力は、サービスが無効になっていることを確認します。
この時点で、変更を有効にするためにシステムを再起動することをお勧めします。
テストコンテナイメージをプルしてDockerインストールをテストする
小さな高山をダウンロードする インストールをテストするためのDockerコンテナイメージ:
docker pull alpine
システムが最新バージョンのイメージをダウンロードします。
画像が利用可能かどうかを確認します:
docker images
Dockerイメージが一覧表示されます:
アルパインコンテナイメージを開始する
Dockerを使用して、ダウンロードしたイメージでコンテナーを実行し、簡単な apk update
を実行してみてください :
docker run -it --rm alpine /bin/sh
/# apk update
出力は、コンテナが開始されたことを確認します。
CentOS8にDockerを正常にインストールして構成しました。