Estimated reading time: 4 minutes

OrientDB a Multi-Model Open Source NoSQL DBMS that combines graphs and documents.

GitHub repo: https://github.com/orientechnologies/orientdb-docker

Library reference

This content is imported from the official Docker Library docs, and is provided by the original uploader. You can view the Docker Hub page for this image at https://hub.docker.com/images/orientdb

Supported tags and respective Dockerfile links

Quick reference

What is OrientDB?

OrientDB is the first Multi-Model Open Source NoSQL DBMS that combines the power of graphs and the flexibility of documents into one scalable, high-performance operational database.


How to use this image

When OrientDB starts it asks for the root password. The root user is able to manage the OrientDB server: create new databases, manage users and roles. The root password can be passed to the container using an environment property:

$ docker run -d --name orientdb -p 2424:2424 -p 2480:2480 -e ORIENTDB_ROOT_PASSWORD=rootpwd orientdb

The Studio is accessible to http:// :2480 (e.g.: http://localhost:2480)

Attach persistent volumes

The docker image contains an OrientDB installation with basic configuration. If you need to provide your own config folder to override the one included in the OrientDB container, simply attach a persistent volume for configuration folder. Providing a configuration folder enables integration with software configuration tools such as Ansible, Chef or Puppet.

The same applies for the databases folder, which if local to the running container would go away as soon as it died/you killed it. Obviously use volumes from dedicated data container is another option.

$ docker run -d --name orientdb -p 2424:2424 -p 2480:2480 \
    -v <config_path>:/orientdb/config \
    -v <databases_path>:/orientdb/databases \
    -v <backup_path>:/orientdb/backup \

NOTE: don’t provide an empty config folder as volume, because OrientDB will startup with a very minimal configuration.

Running OrientDB tools

The OrientDB image contains a full fledge installation, so it is possible to run the console

$ docker run --rm -it orientdb /orientdb/bin/console.sh

or even the etl

$ docker run  --rm -it -v <config_path>:/orientdb/config orientdb /orientdb/bin/oetl.sh ../config/oetl-config.json

Override configuration parameters

Any configuration settings may be specified upon startup using the -D option prefix. For example, starting OrientDB in distributed configuration will work this way:

$ docker run -d --name orientdb -p 2424:2424 -p 2480:2480 \
    -v <config_path>:/orientdb/config \
    -v <databases_path>:/orientdb/databases \
    -v <backup_path>:/orientdb/backup \
    -e ORIENTDB_NODE_NAME=odb1 \
    orientdb /orientdb/bin/server.sh  -Ddistributed=true

For further configuration options please refer to the Configuration section of the online documentation.


Environment parameters such as heap size could be passed via command line:

$ docker run -d --name orientdb -p 2424:2424 -p 2480:2480 \
    orientdb /orientdb/bin/server.sh -Xmx8g


View license information for the software contained in this image.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

Some additional license information which was able to be auto-detected might be found in the repo-info repository’s orientdb/ directory.

As for any pre-built image usage, it is the image user’s responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

library, sample, orientdb