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.

    Use below command to stop the eDirectory container:

    docker stop <Container ID/container name> 

    For example: docker stop eDir-container-1

    Use below command to remove the eDirectory container:

    docker rm <Container ID/container name> 

    For example: docker rm eDir-container-1

  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 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.

The following example shows how to create a new tree using eDirectory container without enabling EBA:

docker run -it --name eDir-container-1 --stop-timeout 180 --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume1:/config --network=host edirectory:9.2.0 new -t docker-tree1 -n novell -S m1 -B 164.99.1.1@1524 -o 1028 -O 1030 -L 1389 -l 1636 --configure-eba-now no

The following example shows how to create a new tree using eDirectory container enabling EBA:

docker run -it --name eDir-container-1 --stop-timeout 180 --restart on-failure:5 --memory="700M" --cpuset-cpus="1" --pids-limit="300" --volume eDir-volume1:/config --network=host edirectory:9.2.0 new -t docker-tree1 -n novell -S m1 -B 164.99.1.1@1524 -o 1028 -O 1030 -L 1389 -l 1636 --configure-eba-now yes

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.