V-V 21390a95ff Improved the docker/README.md
Tested with newer Docker version, also described some of the
benefits of containerization from our perspective.
2018-08-31 14:52:27 +03:00
..
2018-08-31 13:41:52 +03:00
2018-08-31 14:52:27 +03:00

Running OrbitDB code in containers

Docker is a tool for running software in containers ie. OS-level virtualization. This directory contains the needed configuration files to:

  • Build base Docker images for OrbitDB

Base Docker image

Dockerfile defines OrbitDB base images that are based on official node.js -image.

Build local images with command (in repository root):

docker build -t orbit-db -f docker/Dockerfile .

After building local image, run node.js-examples inside container:

docker run -ti --rm orbit-db npm run examples:node

Why would you want to run OrbitDB in container?

Containers are nice because as software execution environments they are:

  • Reproducible, which helps testing and development because you can revert container to original state by destroying it and creating it again,
  • Isolated, which guarantees that external factors like npm versions, operating system version, or other installed software like native compilers do not affect the execution.

They also make implementing virtualized networks for testing and benchmarking easier, which may help projects that use OrbitDB.

Tested versions

  • Docker 1.13.1 (Linux 4.17.5-100.fc27.x86_64)
  • Docker 18.06.1-ce (Linux 4.17.5-100.fc27.x86_64)