Installing Container Runtimes#
Added in version 2.0.
The NVIDIA AI Enterprise offers a collection of containers for running AI/ML and Data Science workloads. The containers are packaged and delivered as containers. The container runtime used by Ubuntu OS is docker and the container runtime used by RHEL is podman.
Installing Docker for Ubuntu#
Please refer to Install Docker Engine on Ubuntu | Docker Documentation for a current installation procedure for Ubuntu.
Installing Podman for Red Hat Enterprise Linux#
For installing Podman, follow the official instructions for your supported Linux distribution. For convenience, the documentation below includes instructions on installing Podman on RHEL 8.
On RHEL 8, check if the
container-tools
module is available with the command below.sudo dnf module list | grep container-tools
This should return an output as shown below.
1container-tools rhel8 [d] common [d] Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and updated as frequently as every 12 weeks. 2container-tools 1.0 common [d] Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported for 24 months. 3container-tools 2.0 common [d] Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page. 4container-tools rhel8 [d] common [d] Most recent (rolling) versions of podman, buildah, skopeo, runc, conmon, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and updated as frequently as every 12 weeks. 5container-tools 1.0 common [d] Stable versions of podman 1.0, buildah 1.5, skopeo 0.1, runc, conmon, CRIU, Udica, etc as well as dependencies such as container-selinux built and tested together, and supported for 24 months. 6container-tools 2.0 common [d] Stable versions of podman 1.6, buildah 1.11, skopeo 0.1, runc, conmon, etc as well as dependencies such as container-selinux built and tested together, and supported as documented on the Application Stream lifecycle page.
Now, proceed to install the
container-tools
module, which will install Podman with the command below.sudo dnf module install -y container-tools
Once, Podman is installed, check the version with the command below.
1podman version 2Version: 2.2.1 3API Version: 2 4Go Version: go1.14.7 5Built: Mon Feb 8 21:19:06 2021 6OS/Arch: linux/amd64
Rootless Container Setup (Optional)#
Note
If the user running the containers is a privileged user (e.g. root) this change should not be made and will cause containers using the NVIDIA Container Toolkit to fail.
To be able to run rootless containers with Podman, we need the following configuration change to the NVIDIA runtime with the command below.
sudo sed -i 's/^#no-cgroups = false/no-cgroups = true/;' /etc/nvidia-container-runtime/config.toml