BA & DI Servers
Build & Deploy BA & DI Pentaho Server Containers ..
The Container 'image' build is completed in 2 stages:
Stage 1: validates required packages based on parameters/configuration selected. Any declared Plugin Packages, Service Packs are 'exploded' and added to the base 'image'.
Stage 2: is to build and deploy the final 'Image'.
Pentaho BA Server consists of all the server plugins:
PAZ - Analyzer
PIR - Interactive Reporting
PDD - Dashboard Designer
Delete previous Pentaho Containers
Only perform the Tasks in this section if you have previously built & deployed a Pentaho container.
To ensure a clean environment:
delete the generatedFiles directory.
You can obviously rename the directory and reference.
delete all Containers, Volumes and Images.
Stop Containers:
Delete all Containers and Images:
The next command will remove everything .. use with caution ..
If you wish to remove just the specific Pentaho Containers and Images via the command line:
docker ps - lists containers
docker rm <container-id>
docker images -a - retrieves image ids
docker rmi <image-id> <image-id> ...
Delete the generatedFiles directory:
Configure Dockerfile
Check Docker is up and running:
Check the Pentaho artefacts have been copied over to the artifactCache directory:
Run the following command:
To automate the build and deploy add the flag: -X
The output generates 2 Docker commands to build and deploy the image.
-V
Yes
The version of the pentaho server to download as a base installation followed by a "/", followed by the distribution build number, followed by another “/”, followed by "ce" or "ee". For example "9.5.0.0/240/ee" installs pentaho server-ee version 9.5.0.0 build 240.
-A
No
Contains acronyms for the plugin products to be installed plugin types are "std", "paz", "pdd" and "pir". Enter all plugins to install, separated with commas, or leave blank to install no additional plugins.
std
No
A special entry that will add all the server plugins without the need to specify them individually.
-p
No
Sets the tomcat port number to use for server communication. If omitted, it uses port 8081 for the server, and 8082 for carte.
-U
No
Set this flag to re-use any existing downloaded artifacts. If omitted, artifacts will always be downloaded.
Build & Deploy Pentaho BA server
Run the following command to build the DI server image:
The -t flag is for docker tag with the image id - image name:tag
Run the following command to deploy:
Take a look at the containers in Visual Studio Code or Portainer.


The Pentaho DI Server is deployed without the plugins ..
Delete previous Pentaho Containers
Only perform the Tasks in this section if you have previously built & deployed a Pentaho container.
To ensure a clean deployment:
delete the generatedFiles directory.
You can obviously rename the directory and reference.
delete all Containers, Volumes and Images.
Stop Containers:
Delete all Containers and Images:
The next command will remove everything .. use with caution ..
If you wish to remove just the specific Pentaho Containers and Images vis the command line:
docker ps - lists containers
docker rm <container-id>
docker images -a - retrieves image ids
docker rmi <image-id> <image-id> ...
Delete the generatedFiles directory:
Check Docker
Check Docker is up and running:
Troubleshooting
If you receive the following error message:
Error response from daemon: cannot stop container: 67034c5ca58a: permission denied
Error response from daemon: cannot stop container: ff0171f749e8: permission denied
Run the following command:
The problem is due to the docker package not installing a profile for docker in the AppArmor service, so docker is categorized as 'unknown' by AppArmor. The above command removes the profile for all unknown applications, so they are no longer restricted by AppArmor.
Configure Dockerfile
Check the Pentaho artefacts have been copied over to the artefactCache directory:
Run the following command:
💡 To automate the build and deploy add the flag: -X
-V
Yes
The version of the pentaho server to download as a base installation followed by a "/", followed by the distribution build number, followed by another “/”, followed by "ce" or "ee". For example "9.5.0.0/240/ee" installs pentaho server-ee version 9.5.0.0 build 240.
-T
No
Alij4WiH81QO
The type of product this image represents. Valid values are:
Value
Description
server
The docker image will contain a fully functional pentaho-server. It is the default value if omitted.
pdi
The docker image will contain a pdi kernel sufficient to run pan and kitchen commands.
carte
The docker image will contain a fully functional carte server.
spoon
The docker image will contain a runnable spoon instance (See more below)
The type of product this image represents. Valid values are:
Value
Description
server
The docker image will contain a fully functional pentaho-server. It is the default value if omitted.
pdi
The docker image will contain a pdi kernel sufficient to run pan and kitchen commands.
carte
The docker image will contain a fully functional carte server.
spoon
The docker image will contain a runnable spoon instance (See more below)
The type of product this image represents. Valid values are:
Value
Description
server
The docker image will contain a fully functional pentaho-server. It is the default value if omitted.
pdi
The docker image will contain a pdi kernel sufficient to run pan and kitchen commands.
carte
The docker image will contain a fully functional carte server.
spoon
The docker image will contain a runnable spoon instance (See more below)
-p
No
Sets the tomcat port number to use for server communication. If omitted, it uses port 8081 for the server, and 8082 for carte.
-U
No
Set this flag to re-use any existing downloaded artifacts. If omitted, artifacts will always be downloaded.
The output is generates 2 Docker commands to build and deploy the image.
Build & Deploy Pentaho DI Server
Run the following command to build the DI server image:
💡 The -t flag is just shorthand instead of building the image and running docker tag afterwards to tag the image id - image name:tag
Run the following command to deploy:
Take a look at the Containers in Visual Studio Code (or you can use Portainer console):
Last updated
Was this helpful?
