Datalore 2022.2 Help

Docker-specific instructions

Configure Docker agents

If you installed Datalore using Docker, you can change the default agents configuration by mounting a config file into /opt/datalore/configs/agents-config.yaml inside the Datalore container. This config has the following format:

docker: network: <name-of-agents-network> dataloreHost: <host-of-datalore-server> instances: - <instance1-definition> - <instance2-definition> ... - <instanceN-definition>

By default, <name-of-agents-network> is datalore-agents-network, and <host-of-datalore-server is datalore.

Each instance definition has the following fields:

Mandatory fields

id: basic-agent

Specifies the unique id for the instance.

default: true

Specifies whether the instance is default.

label: "docker-base"

Specifies the instance name shown in the UI.

description: "docker-base"

Specifies the instance description shown in the UI.

image: docker.io/jetbrains/datalore-agent:2022.2

URI of the agent docker image, changed only to specify a custom agent image

Optional fields

pullPolicy: "IF_ABSENT"

Specifies when the image will be pulled. Acceptable values are: NEVER, ALWAYS, IF_ABSENT (default).

cpus: 1.5

Specifies how much of the available CPU resources a container can use. For example, if the host machine has two CPUs and you set cpus to 1.5, the container is guaranteed at most one and a half of the CPUs.

memory: 100000000

Specifies the maximum amount of memory the container can use.

env: - <env1-definition> - <env2-definition> ... - <envN-definition>

Defines environment variables on the agent. Each env definition contains a name and a value.

Example:

env: - name: DATALORE_SKIP_WARMUP value: true

In the example, the DATALORE_SKIP_WARMUP environment value is set to true on the agent. In this case, the analysis server warmup is skipped on agent initialization, which leads to faster initialization at the cost of slower code completion for some time.

Set up GPU machines

To use GPU machines for your Docker-based installation of Datalore Enterprise, add the deviceRequests field in the agents-configs.yaml file:

deviceRequests: - driver: string count: number deviceIds: [strings] capabilities: [[strings]]

where:

  • capabilities is the only mandatory subfield for the device request.

  • deviceIds is a list of strings with the GPU device IDs from the host. You can find the device ID in the output of the nvidia-smi interface on the host.

  • count is the number of the GPU devices to be reserved (providing the host holds that number of GPUs).

Last modified: 07 September 2022