主机操作系统版本:CentOS 7.3
Docker版本:1.12.6
CUDA版本8.0.61
主机上有4个GPU。以下是详细信息:
"Devices": [
{
"PathOnHost": "/dev/nvidiactl",
"PathInContainer": "/dev/nvidiactl",
"CgroupPermissions": "mrw"
},
{
"PathOnHost": "/dev/nvidia-uvm",
"PathInContainer": "/dev/nvidia-uvm",
"CgroupPermissions": "mrw"
},
{
"PathOnHost": "/dev/nvidia2",
"PathInContainer": "/dev/nvidia0",
"CgroupPermissions": "mrw"
},
{
"PathOnHost": "/dev/fuse",
"PathInContainer": "/dev/fuse",
"CgroupPermissions": "mrw"
}
],
请参阅下面的Nvidia设备列表:
root@de-18--dev-105631-3244950001-48pjz:/sys/fs/cgroup/devices# ls /dev | grep nv
nvidia-uvm
nvidia-uvm-tools
nvidia0
nvidia1
nvidia2
nvidia3
nvidiactl
root@de-18--dev-105631-3244950001-48pjz:/sys/fs/cgroup/devices# cat devices.list
a *:* rwm
Container未在特权模式下运行。当容器中的GPU数量正确时,但稍后我们可以在容器中看到4个GPU。
答案 0 :(得分:2)
容器是app层的抽象,它将代码和依赖关系打包在一起。多个容器可以在同一台机器上运行,并与其他容器共享操作系统内核,每个容器在用户空间中作为独立进程运行。虚拟机(VM)是物理硬件的抽象,将一台服务器转变为多台服务器。这就是您能够看到主机上列出的所有GPU的原因。
使用"码头工具统计数据"找出Container的资源使用情况(https://docs.docker.com/engine/reference/commandline/stats/)