RHEL8 または RHEL9 への Docker CE と Docker 構成のインストール

dnf コマンドまたは yum コマンドを使用して、Red Hat Enterprise Linux (RHEL) 8 に Docker CE と Docker 構成をインストールする方法を紹介します。Docker CE コンテナーの接続に関する問題の解決については、このセクションに記載されています。

dnf コマンドを使用した RHEL 8 または RHEL 9 への Docker CE と Docker 構成のインストール

始める前に:
  • これらのアクションを実行するには、有効な Red Hat サブスクリプションとアカウント資格情報が必要です。前提条件の詳細については、「前提条件および要件」を参照してください。
  • Podman をアンインストールします。
    Important: MCM 起動スクリプトが正しく実行されるようにするには、Podman がBigFix MDM server にインストールされている場合、アンインストールする必要があります。これは、Podman の存在が MCM サービスのコンテナー・ランタイムとして使用される Docker との競合を引き起こす可能性があるためです。
    • Podman を削除する DNF コマンド
      sudo dnf remove podman
    • Podman を削除する Yum コマンド
      sudo yum remove podman
      sudo hash -r

RHEL 8 に Docker CE と Docker 構成をインストールする方法は以下のとおりです。

  1. RHEL 8 システムにサブスクリプションを追加します。これを行うには、次の手順を実行します。
    1. システムの登録:
      sudo subscription-manager register
      Red Hat アカウント資格情報の入力を求めるプロンプトが表示されます。登録に成功すると、システムは Red Hat アカウントに関連付けられます。
    2. 最新表示:
      sudo subscription-manager refresh
      ローカル・システムのサブスクリプション情報が手動で更新されます。
    3. サブスクリプションの添付:
      sudo subscription-manager attach --auto
      利用可能なサブスクリプションがシステムに自動的に添付されます。
    RHEL 8 システムにサブスクリプションを追加する方法について詳しくは、 を参照してください。 https://access.redhat.com/solutions/253273
  2. 次のコマンドを実行して、外部リポジトリーを追加します。
    sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    1. リポジトリーが有効になっているかどうかを確認します。これを行うには、有効なすべてのリポジトリーに関する詳細情報を返す次のコマンドを実行します。
      sudo dnf repolist -v
  3. 使用可能な最新の containerd.io パッケージを手動でインストールします。
    sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.28-3.2.el7.x86_64.rpm
  4. Docker エンジンをインストールします。
    sudo dnf -y install docker-ce-cli
    sudo dnf -y install docker-ce
  5. docker デーモンを起動して有効にします
    sudo systemctl enable --now docker
    1. 次のコマンドを実行して、デーモンがアクティブかどうかを確認します。
      systemctl is-active docker
  6. docker-compose をグローバルでインストールします。
    1. プロジェクトの GitHub ページからバイナリー・ファイルをダウンロードします。
      curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o docker-compose
    2. バイナリー・ファイルをダウンロードした後、それを /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 

詳しくは、 を参照してください。 https://linuxconfig.org/how-to-install-docker-in-rhel-8

このインストール後、Docker CE コンテナー接続の問題が発生する可能性があります。この問題を解決するには、以下の手順を実行します。

yum を使用した RHEL 8 または RHEL 9 への Docker CE と Docker 構成のインストール

始める前に: これらのアクションを実行するには、有効な Red Hat サブスクリプションとアカウント資格情報が必要です。

RHEL 8 に Docker CE と Docker 構成をインストールする方法は以下のとおりです。

  1. RHEL 8 システムにサブスクリプションを追加します。これを行うには、次の手順を実行します。
    1. システムの登録:
      sudo subscription-manager register
      Red Hat アカウント資格情報の入力を求めるプロンプトが表示されます。登録に成功すると、システムは Red Hat アカウントに関連付けられます。
    2. 最新表示:
      sudo subscription-manager refresh
      ローカル・システムのサブスクリプション情報が手動で更新されます。
    3. サブスクリプションの添付:
      sudo subscription-manager attach --auto
      利用可能なサブスクリプションがシステムに自動的に添付されます。
    4. sudo yum install -y yum-utils
    RHEL 8 システムにサブスクリプションを追加する方法について詳しくは、 を参照してください。 https://access.redhat.com/solutions/253273
  2. 次のコマンドを実行して、外部リポジトリーを追加します。
    sudo yum-config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
  3. sudo yum -y install docker-ce-cli
    sudo yum -y install docker-ce
  4. docker デーモンを起動して有効にします
    sudo systemctl enable --now docker
    1. 次のコマンドを実行して、デーモンがアクティブかどうかを確認します。
      systemctl is-active docker
  5. docker-compose をグローバルでインストールします。
    1. プロジェクトの GitHub ページからバイナリー・ファイルをダウンロードします。
      curl -L "https://github.com/docker/compose/releases/download/1.23.2/docker-compose-$(uname -s)-$(uname -m)" -o docker-compose
    2. バイナリー・ファイルをダウンロードした後、それを /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 

詳しくは、 を参照してください。 https://linuxconfig.org/how-to-install-docker-in-rhel-8

このインストール後、Docker CE コンテナー接続の問題が発生する可能性があります。この問題を解決するには、以下の手順を実行します。

Docker CE コンテナー接続の問題を解決します。

Docker CE コンテナー接続の問題を解決するには、次の手順を実行します。
  1. どのインターフェース Docker が使用されているかを確認します。例えば、「docker0」です。
    ip link show
  2. 使用可能なファイアウォール・ゾーンを確認します。例えば、「パブリック」です。
    sudo firewall-cmd --get-active-zones
  3. Docker インターフェースがバインドされているゾーンを確認します。通常、Docker インターフェースはまだゾーンにバインドされていません。
    sudo firewall-cmd --get-zone-of-interface=docker0
  4. 「パブリック」ゾーンに「docker0」インターフェースを追加します。変更は、ファイアウォールが再ロードされた後にのみ表示されます。
    sudo nmcli connection modify docker0 connection.zone public
  5. マスカレードにより、Docker の入力と出力が可能になります。
    sudo firewall-cmd --zone=public --add-masquerade --permanent
  6. ファイアウォールを再ロードします
    sudo firewall-cmd --reload
  7. dockerd を再起動します
    sudo systemctl restart docker