Need help with docker-json-server?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

261 Stars 117 Forks 2 Commits 15 Opened issues


JSON Server docker image, REST API mocking based on plain JSON

Services available


Need anything else?

Contributors list

# 30,979
2 commits


JSON Server provides REST API mocking based on plain JSON. This is a docker image that eases setup.


This docker image is available as a trusted build on the docker index, so there's no setup required. Using this image for the first time will start a download automatically. Further runs will be immediate, as the image will be cached locally.

The recommended way to run this container looks like this:

$ docker run -d -p 80:80 -v /home/user/articles.json:/data/db.json clue/json-server

The above example exposes the JSON Server REST API on port 80, so that you can now browse to:


This is a rather common setup following docker's conventions:

  • -d
    will run a detached instance in the background
  • -p {OutsidePort}:80
    will bind the webserver to the given outside port
  • -v {AbsolutePathToJsonFile}:/data/db.json
    should be passed to mount the given JSON file into the container
  • clue/json-server
    the name of this docker image


You can supply any number of JSON Server arguments that will be passed through unmodified.

$ docker run -it --rm clue/json-server --help

JSON source

If you mount a file to

(as in the above example), it will automatically be used as the plain JSON data source file.

A sample file could look like this:

  "posts": [
    { "id": 1, "body": "foo" },
    { "id": 2, "body": "bar" }
  "comments": [
    { "id": 1, "body": "baz", "postId": 1 },
    { "id": 2, "body": "qux", "postId": 2 }

JS seed file

If you mount a file to

, it will automatically be used as a JS seed file.

JSON Server expects JS files to export a function that returns an object. Seed files are useful if you need to programmaticaly create a lot of data.

A sample file could look like this:

module.exports = function() {
  var data = {};

data.posts = []; data.posts.push({ id: 1, body: 'foo' }); //...

return data; }

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.