Docker container for PredictionIO-based machine learning services
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
files Import project files. Jun 30, 2015
Dockerfile change for version 0.10.0 Oct 24, 2016 Update Feb 24, 2018

This project is derived from sphereio/docker-predictionio

The doc file of PredictionIO pointing to this repo is at

The master branch of this project is for the PredictionIO stable version 0.10.0, and other branches are for newer PredictionIO stable versions (for example, 0.12.0)

PredictionIO docker container

Docker container for PredictionIO-based machine learning services

Docker build

PredictionIO is an open-source Machine Learning server for developers and data scientists to build and deploy predictive applications in a fraction of the time.

This container uses Apache Spark, HBase and Elasticsearch.

  1. First, do either option a) or b) below

    a). (faster; stable version) obtain docker image from public docker registry:

    # for version 0.12.0
    $ docker run -it -p 8000:8000 steveny/predictionio:0.12.0 /bin/bash
    # for version 0.10.0
    $ docker run -it -p 8000:8000 steveny/predictionio /bin/bash

    b). (slower) build docker image from local Dockerfile: git checkout the desired branch (note: main branch is for 0.10.0); cd to the path containing the Dockerfile, then:

    $ docker build -t predictionio .


    $ docker run -p 8000:8000 --name predictionio_instance -it predictionio /bin/bash
  2. Then in docker container, start all services

$ pio-start-all

For the case of version 0.10.0, ignore the error message /PredictionIO-0.10.0-incubating/bin/pio-start-all: line 74: sudo: command not found

and check if all the installed services (HBase, Elastic Search, PredictionIO) are started

$ jps -l
  1. Try an example: similar Product Engine Template (details in


Note to myself:

command lines to build and push docker image:

$ docker build -t steveny/predictionio:0.12.0 .
$ docker run --rm -it -p 8000:8000 steveny/predictionio:0.12.0 /bin/bash
$ docker push steveny/predictionio:0.12.0