NVIDIA Docker is a container runtime wrapper that enables the use of host-level graphics processing units within isolated container environments. It functions as a containerized GPU orchestrator, mapping physical hardware resources into virtualized environments to support high-performance computing and machine learning workloads.
The project provides a toolkit that facilitates integration between containerized applications and host-level graphics hardware. By utilizing a pre-start hook to intercept container creation, the runtime injects necessary device drivers and libraries into the isolated environment, ensuring that graphics calls are redirected to host-provided drivers. This approach maintains compatibility with standard container engines and orchestration platforms by adhering to the Open Container Initiative runtime specification.
This infrastructure supports the deployment of hardware-accelerated computing tasks, including machine learning model training and scientific simulations. It manages the visibility of hardware resources by selectively exposing specific device nodes to the container process, allowing for consistent execution of complex software across different systems.