RHEL8 への Docker CE と Docker 構成のインストール
RHEL 8 に Docker CE と Docker 構成をインストールする
RHEL 8 に Docker CE と Docker 構成をインストールする方法は以下のとおりです。
- 次のコマンドを実行して、外部リポジトリーを追加します。
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo- リポジトリーが有効になっているかどうかを確認します。これを行うには、有効なすべてのリポジトリーに関する詳細情報を返す次のコマンドを実行します。
sudo dnf repolist -v
- リポジトリーが有効になっているかどうかを確認します。これを行うには、有効なすべてのリポジトリーに関する詳細情報を返す次のコマンドを実行します。
- --nobest オプションを指定して docker-ce をインストールします。このオプションを使用すると、満たすことができる依存関係を持つ最初のバージョンの
docker-ceが「フォールバック」バージョンとして選択されます。sudo dnf install --nobest docker-ce - 利用可能な最新の containerd.io パッケージを手動でインストールする
sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm - 最新バージョンの docker-ce をインストールします。
sudo dnf install docker-ce - docker デーモンを起動して有効にします
sudo systemctl enable --now docker- 次のコマンドを実行して、デーモンがアクティブかどうかを確認します。
systemctl is-active docker
- 次のコマンドを実行して、デーモンがアクティブかどうかを確認します。
- docker-compose をグローバルでインストールします。
- プロジェクトの GitHub ページからバイナリー・ファイルをダウンロードします。
curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o docker-compose - バイナリー・ファイルをダウンロードした後、それを /usr/local/bin フォルダーに移動し、実行可能にします。
sudo mv docker-compose /usr/local/bin && sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- プロジェクトの GitHub ページからバイナリー・ファイルをダウンロードします。
詳しくは、「https://linuxconfig.org/how-to-install-docker-in-rhel-8」を参照してください。
このインストール後、Docker CE コンテナー接続の問題が発生する可能性があります。この問題を解決するには、以下の手順を実行します。
Docker CE コンテナー接続の問題を解決します。
Docker CE コンテナー接続の問題を解決するには、次の手順を実行します。
- どのインターフェース Docker が使用されているかを確認します。例えば、「docker0」です。
ip link show - 使用可能なファイアウォール・ゾーンを確認します。例えば、「パブリック」です。
sudo firewall-cmd --get-active-zones - Docker インターフェースがバインドされているゾーンを確認します。通常、Docker インターフェースはまだゾーンにバインドされていません。
sudo firewall-cmd --get-zone-of-interface=docker0 - 「パブリック」ゾーンに「docker0」インターフェースを追加します。変更は、ファイアウォールが再ロードされた後にのみ表示されます。
sudo nmcli connection modify docker0 connection.zone public - マスカレードにより、Docker の入力と出力が可能になります。
sudo firewall-cmd --zone=public --add-masquerade --permanent - ファイアウォールを再ロードします
sudo firewall-cmd --reload - dockerd を再起動します
sudo systemctl restart docker