Why can the dedicated server see a GPU but my container cannot?
Host GPU visibility and container access are separate checks. A compatible host driver, supported container integration and an explicit device assignment are needed for the application’s chosen runtime. Installing a toolkit inside an arbitrary container does not repair a missing host driver or runtime configuration.
Before you start
- An authorised Docker context and an existing trusted GPU application container.
- The container includes nvidia-smi for the optional visibility check.
Instructions
1. Confirm host device visibility
Run the host check first and record the expected GPU identity. If this fails, investigate the host driver before changing the container configuration.
nvidia-smi -LLists devices visible through the host NVIDIA driver.
2. Inspect the existing container
Confirm the intended Docker daemon and substitute the running container’s actual name. The command starts only a diagnostic process in that container; it does not create a replacement container or grant additional privileges.
docker context show
docker exec gpu-app nvidia-smi -LReports the selected Docker context and asks an existing gpu-app container to list its visible NVIDIA devices.
3. Compare assignment and compatibility
Review the deployment’s requested GPU devices, runtime/CDI integration where applicable, and driver capabilities against the installed toolkit’s documentation. Check the container’s CUDA runtime compatibility. Expose only the required devices through the supported mechanism; privileged mode and mounting the host filesystem are not appropriate visibility fixes.
Check the result
- The container sees only its intended GPU allocation and its application can use the compatible runtime.
Troubleshooting
- The container says nvidia-smi is missing
- The image may not include the utility or required driver capability. Use its supported diagnostic method; missing tooling alone does not prove that the application cannot access a GPU.
Official references
Use the documentation for your installed version when a flag, service name or platform feature differs.
