# Basic usage

First of all, [install Docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-convenience-script) on the host machine.

The easiest way to use the dockerized Meterian Client is via the script [meterian-docker](https://github.com/MeterianHQ/meterian-scanner-docker/blob/master/scripts). It accepts all [the standard parameters](/the-client/command-line-parameters.md) exactly in the same way, but it cannot be used in interactive mode, therefore you will need to provide it with [a valid token](https://www.meterian.com/account/#tokens) using the environment variable `METERIAN_API_TOKEN`. We suggest you populate such variable in your startup script.

Assuming you put the script in your path, just **move in the folder of your project** and type:

```
    meterian-docker [Meterian CLI Options]
```

Alternatively you can set the environment variable `METERIAN_WORKDIR` with the path to your project folder and run the convenience script:

```
    export METERIAN_WORKDIR=/project-folder
    meterian-docker
```

Everything will work exactly like a normal invocation of the client. Please note that, by default, the script binds into the container the standard library cache folders used by the package managers (see the table below for the ones that we bind), so that the execution is as fast as it was running on your machine. If you really want you can avoid this by adding `--unbound` to your command line arguments.

| Package Manager | Folder                          |
| --------------- | ------------------------------- |
| \*              | <p>~~/.cache<br>~~/.local</p>   |
| maven           | \~/.m2                          |
| dotnet          | <p>~~/.dotnet<br>~~/.nuget</p>  |
| ruby            | $(gem environment gemdir)/cache |
| node            | /usr/lib/node\_modules          |
| gradle          | \~/.gradle                      |
| sbt             | <p>~~/.sbt<br>~~/.ivy2</p>      |

An additional option to note when using the [meterian-docker](https://github.com/MeterianHQ/meterian-scanner-docker/blob/master/scripts) script is `--image:` .&#x20;

By default the scripts uses the `latest` tag, but providing this option instructs it to use a [given tag](https://hub.docker.com/repository/docker/meterian/cli/tags) of the `meterian/cli` image.

```
    meterian-docker --image:latest-python
```

The above example will cause the script to use the `meterian/cli:latest-python` image: we also provide [platform-specific images](https://hub.docker.com/r/meterian/cli/tags) should you not wish to use the full version to save bandwidth or space, as the "generic" image ("latest") contains all the tooling supported.


---

# 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.meterian.io/the-client/the-meterian-client-dockerized/basic-usage.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.
