

# コンテナに EFA ソフトウェアをインストールする
<a name="efa-installer-containers"></a>

このセクションでは、コンテナ化された環境で EFA インストーラを使用する方法について説明します。EFA ソフトウェアをインストールするには、Dockerfile にコマンドを追加するか、実行中のコンテナのシェルで直接コマンドを実行します。

**シェルコマンドを使用してコンテナに EFA ソフトウェアをインストールするには**

1. オペレーティングシステムパッケージを更新します。このステップにより、パッケージが最新の状態になります。
   + Debian ベースのオペレーティングシステムの場合:

     ```
     apt-get update && apt-get upgrade -y
     ```
   + RHEL ベースのオペレーティングシステムの場合:

     ```
     yum update -y
     ```

1. EFA インストーラをダウンロードします。最新の EFA インストーラを使用することをお勧めします。最新バージョンについては、「[Elastic Fabric Adapter リリースノート](efa-changelog.md)」を参照してください。

   ```
   mkdir /tmp/efa \
   && cd /tmp/efa \
   && curl -O https://efa-installer.amazonaws.com/aws-efa-installer-{{version}}.tar.gz
   ```

   (オプション) EFA インストーラパッケージの署名を確認します。

   ```
   wget https://efa-installer.amazonaws.com/aws-efa-installer.key \
   && gpg --import aws-efa-installer.key \
   && cat aws-efa-installer.key | gpg --fingerprint \
   && wget https://efa-installer.amazonaws.com/aws-efa-installer-{{version}}.tar.gz.sig \
   && gpg --verify ./aws-efa-installer-{{version}}.tar.gz.sig
   ```

1. EFA ソフトウェアをインストールします。次のコマンドは以下の引数をとります。
   + `--skip-kmod` — カーネルモジュールのインストールをスキップします。コンテナ環境は、カーネルモジュールを変更できません。
   + `--skip-limit-conf` — 制限設定をスキップします。コンテナ内で `ulimit` を設定することはできません。代わりに、コンテナ作成の一環としてこれを設定します。
   + `--no-verify` — EFA デバイスの検出をスキップします。デバイスの検出では `lspci` が使用されますが、これはコンテナ化された環境では機能しません。

   ```
   tar -xf aws-efa-installer-{{version}}.tar.gz \
   && cd aws-efa-installer \
   && ./efa_installer.sh -y --skip-kmod --skip-limit-conf --no-verify
   ```
**注記**  
NGC コンテナの場合、EFA インストーラバージョン 1.49.0 以降では、上記 3 つのフラグの代わりに `--enable-ngc` フラグを使用できます。このフラグは、コンテナ固有のすべての設定を自動的に処理します。  

   ```
   ./efa_installer.sh -y --enable-ngc
   ```

1. 一時インストールファイルをクリーンアップします。

   ```
   rm -rf /tmp/efa
   ```