6.6 Dockerコンテナを使用したeDirectoryのアップグレード

eDirectoryイメージの新しいバージョンが使用可能になった場合、管理者は、最新バージョンのeDirectoryをコンテナにデプロイするためのアップグレード手順を実行できます。アップグレードを実行する前に、すべての必要なアプリケーション関連データをDockerボリュームに永続的に保存するようにしてください。Dockerコンテナを使用してeDirectoryをアップグレードするには、次の手順を実行します。

  1. 実行中のeDirectoryコンテナを停止して削除します。実行中のコンテナは、新しいイメージを使用できないため、アップグレードを実行する前に停止して削除する必要があります。

  2. 新しいeDirectory Dockerイメージと、Docker Volumeに保存されている古いコンテナのアプリケーションデータを使用して、新しいコンテナを起動します。

    次の例は、保存する目的でボリュームをマウントしてeDirectoryコンテナを起動する方法を示しています。

    docker run -it --name eDir1-Host --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume1:/config --network=host <eDirectory_image> new -t docker-tree1 -n novell -S m1 -B <Host_IP_Address>@1524 -o 1028 -O 1030 -L 1389 -l 1636 --configure-eba-now yes

    次の例は、手順2で作成したeDirectoryコンテナをアップグレードする方法を示しています。

    docker run -it --name eDir1-Host --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume1:/config --network=host <Latest_eDirectory_image> upgrade

    eDir-volume1は、古いeDirectoryコンテナのアプリケーションデータを保持している同じボリュームです。

メモ:

  • eDirectoryコンテナをアップグレードするには、その前に、古いバージョンのイメージが実行されているコンテナを削除する必要があります。

  • ndsconfigコマンドの-aオプションと-wオプションを使用しないでください。コンテナのアップグレード時には、画面上のプロンプトを使用して管理者の資格情報を入力してください。

6.6.1 eDirectory Dockerコンテナの復旧

不明な理由が原因で、実行中のeDirectoryコンテナにアクセスできなくなったり、コンテナが削除されたり、使用不能になったりした場合は、コンテナ復旧を実行する必要があります。このような場合には、影響を受けたコンテナを停止して削除する必要があります。新しいコンテナは、影響を受けたコンテナと同じeDirectoryイメージとDockerボリュームを使用して開始する必要があります。eDirectoryコンテナを復旧するには、次の手順を実行します。

  1. 影響を受けたコンテナを停止して削除します。

  2. ホストマシンのパス/var/lib/docker/volumes/eDir-volume1/_data/eDirectory/inst/confにあるnds.versionファイル内のエポックタイムスタンプを編集して、より小さい値を指定します。

  3. 影響を受けたコンテナと同じeDirectoryイメージとのボリュームを使用して、新しいコンテナを起動します。次の例は、影響を受けたコンテナを復旧する方法を示しています。

    docker run -it --name eDir1-Host --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="150" --volume eDir-volume1:/config --network=host <same_eDirectory_image> upgrade

    eDir-volume1は、影響を受けたeDirectoryコンテナのアプリケーションデータを保持している同じボリュームです。