6.6 Upgrading eDirectory Using Docker Container

When a new version of eDirectory Image is available, the administrator can perform an upgrade procedure to deploy container with the latest version of eDirectory. Ensure to store all necessary application related data persistently in Docker volumes before performing an upgrade. Perform the following steps to upgrade eDirectory using Docker container:

  1. Stop and remove the running eDirectory container. Since the running containers cannot use the new image, they should be stopped and removed before performing an upgrade.

  2. Start a new container using the new eDirectory Docker image and the application data of the old container stored in Docker volume:

    The following example shows how to start an eDirectory container with a volume mounted to it for storage purpose:

    docker run -it --name eDir1-Host --stop-timeout 180 --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

    The following example shows how to upgrade the eDirectory container created in step 2:

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

    eDir-volume1 is the same volume that retains the application data of the old eDirectory container.

NOTE:

  • eDirectory container should only be upgraded after removing the container running the old version of the image.

  • It is not recommended to use the -a and -w options of the ndsconfig command. You should use the on-screen prompt to enter the administrator’s credentials for upgrading the container.

6.6.1 Recovering eDirectory Docker Containers

When a running eDirectory container becomes inaccessible, deleted or unusable due to unknown reasons, a container recovery should be performed. In such scenario, the impacted container should be stopped and removed. A new container should be started using the same eDirectory image and the Docker Volume of the impacted container. Perform the following steps to recover a eDirectory container:

  1. Stop and remove the impacted container.

  2. Start a new container with the same eDirectory image and the volume of the impacted container. The following example shows how to recover an impacted container:

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

    eDir-volume1 is the same volume that retains the application data of the impacted eDirectory container.