This change adds a --restart-mode option to the docker config CLI. This mirrors the option added for containerd and allows 'none' to be specified to disable the restart of docker. This is useful in cases where the updated docker config should be reloaded out of band. Signed-off-by: Evan Lezar <elezar@nvidia.com> |
||
|---|---|---|
| .. | ||
| containerd | ||
| crio | ||
| docker | ||
| nvidia-toolkit | ||
| toolkit | ||
| README.md | ||
Introduction
This repository contains tools that allow docker, containerd, or cri-o to be configured to use the NVIDIA Container Toolkit.
Note: These were copied from the container-config repository are being migrated to commands installed with the NVIDIA Container Toolkit.
These will be migrated into an upcoming nvidia-ctk CLI as required.
Docker
After building the docker binary, run:
docker setup \
--runtime-name NAME \
/run/nvidia/toolkit
Configure the nvidia-container-runtime as a docker runtime named NAME. If the --runtime-name flag is not specified, this runtime would be called nvidia. A runtime named nvidia-experimental will also be configured using the nvidia-container-runtime-experimental OCI-compliant runtime shim.
Since --set-as-default is enabled by default, the specified runtime name will also be set as the default docker runtime. This can be disabled by explicityly specifying --set-as-default=false.
Note: If --runtime-name is specified as nvidia-experimental explicitly, the nvidia-experimental runtime will be configured as the default runtime, with the nvidia runtime still configured and available for use.
The following table describes the behaviour for different --runtime-name and --set-as-default flag combinations.
| Flags | Installed Runtimes | Default Runtime |
|---|---|---|
| NONE SPECIFIED | nvidia, nvidia-experimental |
nvidia |
--runtime-name nvidia |
nvidia, nvidia-experimental |
nvidia |
--runtime-name NAME |
NAME, nvidia-experimental |
NAME |
--runtime-name nvidia-experimental |
nvidia, nvidia-experimental |
nvidia-experimental |
--set-as-default |
nvidia, nvidia-experimental |
nvidia |
--set-as-default --runtime-name nvidia |
nvidia, nvidia-experimental |
nvidia |
--set-as-default --runtime-name NAME |
NAME, nvidia-experimental |
NAME |
--set-as-default --runtime-name nvidia-experimental |
nvidia, nvidia-experimental |
nvidia-experimental |
--set-as-default=false |
nvidia, nvidia-experimental |
NOT SET |
--set-as-default=false --runtime-name NAME |
NAME, nvidia-experimental |
NOT SET |
--set-as-default=false --runtime-name nvidia |
nvidia, nvidia-experimental |
NOT SET |
--set-as-default=false --runtime-name nvidia-experimental |
nvidia, nvidia-experimental |
NOT SET |
These combinations also hold for the environment variables that map to the command line flags: DOCKER_RUNTIME_NAME, DOCKER_SET_AS_DEFAULT.
Containerd
After running the containerd binary, run:
containerd setup \
--runtime-class NAME \
/run/nvidia/toolkit
Configure the nvidia-container-runtime as a runtime class named NAME. If the --runtime-class flag is not specified, this runtime would be called nvidia. A runtime class named nvidia-experimental will also be configured using the nvidia-container-runtime-experimental OCI-compliant runtime shim.
Adding the --set-as-default flag as follows:
containerd setup \
--runtime-class NAME \
--set-as-default \
/run/nvidia/toolkit
will set the runtime class NAME (or nvidia if not specified) as the default runtime class.
Note: If --runtime-class is specified as nvidia-experimental explicitly and --set-as-default is specified, the nvidia-experimental runtime will be configured as the default runtime class, with the nvidia runtime class still configured and available for use.
The following table describes the behaviour for different --runtime-class and --set-as-default flag combinations.
| Flags | Installed Runtime Classes | Default Runtime Class |
|---|---|---|
| NONE SPECIFIED | nvidia, nvidia-experimental |
NOT SET |
--runtime-class NAME |
NAME, nvidia-experimental |
NOT SET |
--runtime-class nvidia |
nvidia, nvidia-experimental |
NOT SET |
--runtime-class nvidia-experimental |
nvidia, nvidia-experimental |
NOT SET |
--set-as-default |
nvidia, nvidia-experimental |
nvidia |
--set-as-default --runtime-class NAME |
NAME, nvidia-experimental |
NAME |
--set-as-default --runtime-class nvidia |
nvidia, nvidia-experimental |
nvidia |
--set-as-default --runtime-class nvidia-experimental |
nvidia, nvidia-experimental |
nvidia-experimental |
These combinations also hold for the environment variables that map to the command line flags.