Skip to content

Transferring Marqo's state


Version compatibility note

Please be aware about the Marqo versions of the old and new Marqo instance. It is safest transferring state between Marqo containers of the same version.

Marqo versions 0.x.x, 1.x.x, 2.x.x are not compatible: attempting to transfer state between these Marqo versions will result in unexpected behaviour.

Guide

If you are running Marqo in its default configuration, Marqo-os is running in a Docker-in-Docker configuration. To transfer the storage layer to a new instance do the following instructions.

  1. Use docker to inspect the Marqo container (if you called it marqo as per the readme):
    docker inspect marqo
    
  2. Look at the mounts and find the one named volume. Copy the name of the volume e.g 80151d87b636ca5ac2b457d316539aafa376598b8867647d08ffdae0bdeb0ae0

  3. To check information on the volume run:

    docker volume inspect <VOLUME NAME>
    

  4. Optionally remove the existing docker container (if you let your old container exist, you wont be able to start a new one also called marqo)

    docker rm -f marqo
    

  5. Run the following commands to pull the newest marqo version, attaching the previous version’s data

    docker pull marqo:<new version e.g 0.0.14>
    
    docker run --name marqo -it -p 8882:8882 --volume=80151d87b636ca5ac2b457d316539aafa376598b8867647d08ffdae0bdeb0ae0:/opt/vespa/ marqoai/marqo:<new version e.g 0.0.14>