# Using the DockMaker command line tool

You can use the Pentaho DockMaker command line tool to generate setup files in the `generatedFiles` directory to prepare Pentaho Server, Carte, Kitchen, and Pan installations for Docker, or use the command to prepare the files, build the image, and compose the related Docker container. Use the `-X` parameter of the `DockMaker` command to have the tool build the image and compose the container after it creates the setup files.

**Note:** ThePentaho Data Integration tool (Spoon) is not supported.

The Pentaho version parameter,`-V,`is required. All others are optional.

The `DockMaker` command has the following parameters:

| Parameters                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-A,--additional-plugins <arg>` | <p>Specify the acronyms of the plugin products to be installed with the server. More than one plugin can be specified, separated with commas, or leave blank to install no additional plugins. The following plugin types are available:</p><ul><li><strong><code>paz</code></strong></li></ul><p><a href="https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/Pentaho_Analyzer">Pentaho Analyzer</a></p><ul><li><strong><code>pir</code></strong></li></ul><p><a href="https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/Pentaho_Interactive_Reports">Pentaho Interactive Reports</a></p><ul><li><strong><code>pdd</code></strong></li></ul><p><a href="https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/Pentaho_Dashboard_Designer">Pentaho Dashboard Designer</a></p><ul><li><strong><code>hdp</code></strong></li></ul><p>(PDI only) Hadoop add-on. This type is to include the Hadoop add-on for PDI. See <a href="https://help.hitachivantara.com/Documentation/Pentaho/9.4/Setup/Install_the_PDI_tools_and_plugins">Install the PDI tools and plugins</a> for details on the Hadoop add-on plugin.</p><ul><li><strong><code>std</code></strong></li></ul><p>A special entry that adds all the plugins without the need to specify them individually.</p> |
| `-D`,`--database <arg>`         | <p>Specify the underlaying database for the repository. The following values are supported:</p><ul><li><code>postgres/9.6</code>, which is the default if this parameter is omitted.</li><li><code>postgres/13.5</code></li><li><code>mysql/8.0</code></li><li><code>oracle/latest/ent</code></li><li><code>oracle/latest/ex</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `--EULA_ACCEPT <arg>`           | Set to `true` to accept the end user license agreement (EULA). When set to `true`, the command runs unattended. If omitted or set to `false`, you must manually accept the EULA displayed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `-h,--help`                     | Print the text describing these parameters to the screen.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `-I`,`--install-path <arg>`     | (Optional) Specify the path from root to install Pentaho Server in the image. If omitted, the default value is `/opt/Pentaho`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `-J,--java-version <version>`   | Set the desired Java version. As a best practice, set java version that is compatible with the image being built.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| -K,--kar\_file                  | Set this flag to force the Docker build to include the specified `.kar` file in the Docker image. Example:`./DockMaker -V <version_number>/<build_number>/ee -A std -U -K cdpdc71 --EULA_ACCEPT=true`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `-M`,`--metastore`              | Specify the path to a local folder whose contents will be mounted under the `/home/pentaho` directory on the container. It is intended to hold the Pentaho metastore directories, but can also be used to sync other folders, as needed. This folder is synchronized with the one on the container, so any metastore changes made in the container are replicated on the local filesystem. The folder specified should contain a populated `.pentaho` and `.kettle` folder. This folder will be mounted on `/home/pentaho` in the container. See [Metastore volume](/install/9.3-install/pentaho-installation-overview-cp/docker-container-deployment-of-pentaho-installation-cp/using-your-docker-containers-with-clusters-docker-deployment/shared-volumes-docker-deployment/metastore-volume-docker-deployment.md) for details.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| `-N`,`--no-cache`               | Set this flag to force the Docker build to use the `–no-cache` option.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `-P`,`--patch-version <arg>`    | Specify the version of the Pentaho Server patch 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.3.0.0/627/ee` patches to the enterprise edition of the Pentaho Server for build 627 of version 9.3.0.0.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `-p`,`--port <arg>`             | Set the Tomcat port number to use for server communication. If omitted, the default value is port `8081` for the Pentaho Server and `8082` for Carte.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `--password <password>`         | Set the `admin` password for a Pentaho Server build or the Carte user password for a Carte server build.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `-T`,`--product-type`           | <p>Select the type of product this image represents. The following values are valid:</p><ul><li><strong><code>server</code></strong></li></ul><p>The docker image will contain a fully functional Pentaho Server. It is the default value if the parameter is omitted.</p><ul><li><strong><code>pdi</code></strong></li></ul><p>The docker image will contain a PDI kernel sufficient to run the <a href="https://help.hitachivantara.com/Documentation/Pentaho/9.3/Products/Use_Command_Line_Tools_to_Run_Transformations_and_Jobs">pan and kitchen</a> commands.</p><ul><li><strong><code>carte</code></strong></li></ul><p>The docker image will contain a fully functional <a href="https://help.hitachivantara.com/Documentation/Pentaho/9.4/Products/Use_Carte_Clusters">Carte</a> server.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `-U`,`--use-existing-downloads` | Set this flag to re-use any existing downloaded artifacts. If omitted, artifacts will always be downloaded. Artifacts are kept in the directory defined by the `docker.server.artifactCache` property in the `DockMaker.properties` file. If downloading fails, you can manually put the artifacts needed in this directory and set `-U` to that directory.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `--user <arg>`                  | Only used in Carte configurations. Set the username associated with the Carte credentials. If omitted when creating a Carte server, defaults to `carte`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `-V`,`--pentaho-version <arg>`  | Specify 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 “ee”. For example, `9.3.0.0/343/ee` installs the enterprise edition of the Pentaho Server for build 343 of version 9.3.0.0.**Note:** This parameter is required.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `-X`,`--execute`                | Set to build the image and runs `docker compose` to bring everything up and running after the `generatedFiles` directory is built. If omitted, generates the `generatedFiles` directory only. The system displays the `docker build` and `docker compose` commands but not execute them.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |

You can create the \`generatedFiles\` directory, build the Docker image, and compose the container for your Pentaho product using the \`DockMaker\` command with the \`-X\` parameter. You may want to create the \`generatedFiles\` directory for the Pentaho product in a Docker container yet use the \`docker build\` and \`docker compose\` commands later to construct image and compose the container. For example, you may need to modify the files in the \`generatedFiles\` directory before using the \`docker build\` and \`docker compose\` commands, such as when \[using the Docker command tool with a Kerberos secured cluster]\(../Using%20your%20Docker%20containers%20with%20clusters%20(Docker%20deployment)/Use%20the%20Docker%20command%20tool%20with%20a%20Kerberos%20secured%20cluster%20(Docker%20deployment).md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.pentaho.com/install/9.3-install/pentaho-installation-overview-cp/docker-container-deployment-of-pentaho-installation-cp/docker-container-deployment-process-docker-deployment/using-the-dockmaker-command-line-tool-docker-deployment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
