This post is intended to stimulate Pentaho users try Docker.

Docker

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments. As a result, IT can ship faster and run the same app, unchanged, on laptops, data center VMs, and any cloud.

Install Docker

Ubuntu Trusty 14.04 (LTS) (64-bit)

Ubuntu Trusty comes with a 3.13.0 Linux kernel, and a docker.io package which installs all its prerequisites from Ubuntu's repository.
Note: Ubuntu (and Debian) contain a much older KDE3/GNOME2 package called docker, so the package and the executable are called docker.io. Installation To install the latest Ubuntu package (may not be the latest Docker release):

Code:
sudo apt-get update 
sudo apt-get install docker.io 
sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker 
sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
Others

https://docs.docker.com/installation/

Running Pentaho - Rapid Deployment

Code:
sudo docker run -p 8080:8080 -d wmarinho/pentaho
http://localhost:8080

Please see details below

Pull repository


  • Release: TRUNK.SNAPSHOT

Code:
sudo docker pull wmarinho/pentaho
  • Release: 5.0.1-stable

Code:
sudo docker pull wmarinho/pentaho:5.0.1-stable
  • Release: 5.1 CE RC

Code:
sudo docker pull wmarinho/pentaho:5.1-CE-RC
More tags available here

  • Listing images on the host

Code:
sudo docker images
  • Running container as daemon

Code:
$ sudo docker run -p 8080:8080 -d wmarinho/pentaho
  • Running multiples containers as daemon

Code:
sudo docker run -p 8081:8080 -d wmarinho/pentaho
sudo docker run -p 8082:8080 -d wmarinho/pentaho
  • Make sure your container is running

Code:
$ sudo docker ps

Code:
sudo docker stop <CONTAINER_ID>
  • Start containers

Code:
sudo docker start <CONTAINER_ID>
  • Running an interactive container

Code:
sudo docker run -i -t wmarinho/pentaho /bin/bash
Inside our container we can configure Pentaho and add custom package or plugins

  • Now we have a container with the change we want to make

Code:
sudo docker commit -m="Added Sparkl plugin" <CONTAINER_ID> wmarinho/pentaho:latest-sparkl
  • We can then look at our new wmarinho/pentaho:latest-sparkl image using the docker imagescommand
  • To use our new image to create a container we can then:

Code:
sudo docker run -p 8080:8080 -d wmarinho/pentaho:latest-sparkl
  • Now we can easily run multiples containers and versions of Pentaho using only one server


Building your image


Clone and edit Dockerfile template

Code:
sudo git clone https://github.com/wmarinho/docker-pentaho.git
cd docker-pentaho
sudo vi Dockerfile
sudo docker build -t myimage/pentaho:mytag .
sudo docker images
sudo docker run -p 8080:8080 -d myimage/pentaho:mytag
Or run in interactive mode
sudo docker run -p 8080:8080 -i -t myimage/pentaho:mytag /bin/bash
Please see [Dockerfile Reference] (https://docs.docker.com/reference/builder/) for additional information.

Docker Hub account


You can create a docker account and push your images. Please see Working with Docker Hub