VoltDB on Windows 10@Docker

If you look for a truly in-memory open source database then VoltDB might be the only choice available at the moment. Unfortunately, for me, there are no binaries for Windows available as big part of the code was written in C/C++ which is hard to port from Linux to Windows. But there is a way to run VoltDB when your main operating system is Windows. A solution provided on www.VoltDB.com is to use Docker Toolbox. But the description they provide seems to be a bit outdated, i.e., it did not work for me.

There were three things I had to do in order to have it work. The whole procedure looked like this:

  1. Install Oracle VirtualBox, 5.0.10.
  2. Install Docker Toolbox, 1.9.1.
  3. VoltDB Demo, by running the code below in docker

    docker rm -f voltdb-demo 2>/dev/null;true && \
    docker pull voltdb/voltdb-demo && \
    docker run --name voltdb-demo -p 8080:8080 -p 8081:8081 -d voltdb/voltdb-demo

  4. Delete the default machine:

    docker-machine rm default

  5. Start Kitematic and let it create the default virtual machine.
  6. Open VirtualBox, and forward ports 8080, and 8081 to the host machine. This is done by going into
    Settings -> Network -> Advanced -> Port Forwarding
    like in the screen below.

    Oracle VM VirtualBox Port Forwarding

    Oracle VM VirtualBox Port Forwarding

  7. Now the VotlDB Demo Website should be available through http://localhost:8081.

NOTES:

    The size of the database will be limited to the amount of RAM reserved to the virtual machine.
    If you cannot access VoltDB through the webiste check port forwarding in the virtual machine, or try port 8080 instead of 8081.
    If the docker does not start and just hungs up on starting the virtual machine, delete it, like in step 4, and recreate it with Kitematic, step 5.
    The name of the docker is voltdb-demo, so if you want to check any of its properties just run

    docker inspect voltdb-demo

Leave a Reply