We provide images in two flavors: ubuntu-based (to be run on Linux containers) and nanoserver-based (to be run using Windows containers). The following tags are available:
4.x-ubuntu-latest- contains the latest version of RavenDB 4.x running on Ubuntu (16.04 for 4.0 and 18.04 for 4.1) container
4.x-windows-nanoserver-latest- contains the latest version of RavenDB 4.x running running on Windows nanoserver
every 4.x release is going to have its own image set for both Ubuntu and Windows containers
Simplest way to run and try RavenDB out is:
$ docker run -p 8080:8080 ravendb/ravendb
$ docker run -p 8080:8080 ravendb/ravendb:windows-nanoserver-latest
Optionally nightly images can be used from ravendb/ravendb-nightly
You can run RavenDB docker container manually by invoking
docker run, yet if you don't feel that docker-savvy we recommend using our scripts:
Run Ubuntu-based image: run-linux.ps1
Run Windows-based image: run-nanoserver.ps1
Above mentioned Powershell scripts are simplifying usage of our images allowing you to pass various switches and options to configure RavenDB inside the container:
||Operations||set logging level (Operations, Information)|
||absolute path to settings file used by RavenDB inside the container|
||host directory mounted to the volume used for persistence of RavenDB data (if not provided a regular docker volume is going to be used)|
||8080||the port number on which RavenDB Server is exposed on the container|
||38888||the port number on which RavenDB Server listens for TCP connections exposed on the container|
||disable setup wizard|
||removes container on server process exit|
||set the public url under which server is available to other nodes or admins (e.g. http://4.live-test.ravendb.net:80)|
||set the url under which server is available to the outside world (e.g. tcp://4.live-test.ravendb.net:38888)|
||HERE BE DRAGONS - disable authentication for RavenDB server|
Once run RavenDB server should be exposed on port 8080 by default.
Each of images above makes use of 2 volumes:
settings volume - holding RavenDB configuration,
databases volume - used for persistence of RavenDB data,
To configure RavenDB one can use (in order of precedence):
- environment variables, - `settings.json` configuration file, - CLI arguments
Environment variables prefixed with
RAVEN_ can be used to configure RavenDB server.
I'm using compose / doing automated installation. How do I disable setup wizard?
Setup.Mode configuration option to
None like so:
I want to try it out on my local / development machine. How do I run unsecured server?
Set env variables like so:
How can I pass command line arguments?
RAVEN_ARGS environment variable. It's passed as an CLI arguments line.
Can I see RavenDB logs by running
To get logs available when running
docker logs command, you need to turn that on for RavenDB server. Setting below environment variables like so is going to enable logging to console. Please note such behavior may have performance implications. Log level may be modified using
How to set a custom config file?
Mount it as a docker volume and use
--config-path PATH_TO_CONFIG command line argument in order to use settings file from outside of server directory.
These images were built using the following Dockerfiles: