Migrations with Docker images

November 14, 2023

Performing a Jahia migration with Docker is generally straightforward, but it is always recommended to review Jahia release notes and recommendations for applying the update as it might require changes in your modules.

Instructions in this document focus only on Docker operations, it assumes that any required code or configuration changes requested in the migration notes were performed.

This section of the documentation only applies starting from Jahia 8.0.3.0. If migrating from an earlier version, please contact our support team.

Performing the migration

Upgrading within the same family of docker containers (jahia/jahia or jahia/jahia-ee) is a straightforward process:

  1. Stop the Jahia container or containers if you run a cluster.
  2. Start a new Jahia container in version n+1 that points to the same volume and database as the previous one.
  3. For clustered environments, once the first Jahia container has finished starting, all the others can be started at the same time.

The first container to start will upgrade the Database content.

The following sequence of operations illustrates how to start a jahia/jahia-ee:8.1.6.1 container and upgrade it to jahia/jahia-ee:8.1.7.1, as long as both Jahia instances point to the same database schema.

docker run [docker options here] --name jahia8 -v [LOCAL_PATH]:/data jahia/jahia:8.1.6.1
docker stop jahia8 && docker rm $_
docker run [docker options here] --name jahia8 -v [LOCAL_PATH]:/data jahia/jahia:8.1.7.1

For multi-version Jahia cluster upgrades, only the processing node needs to be restarted for each version. See the How to upgrade procedure on the Customer Center. Non-processing nodes can be started in the final version directly once the processing has been upgraded.