Docker 带有 HBA 卡的容器
Docker container with HBA card
我如何将 HBA 卡(在 centos 7 上的物理服务器 运行 上)连接到 docker 容器?当我正在做 POC 以从现有环境迁移到 docker 时,这是非常需要的。它类似于 VMware ESXi 中的直接 IO(可以通过直接 I/O 将物理 hba 附加到 VM)。
Docker 不是管理程序,容器不是 VM,"attaching devices" 对容器来说不一定有意义——容器只是一个进程 运行正在您的主机上。
您可以使用 --device
标志将 /dev
中的设备节点暴露给容器 docker run
,尽管在容器中暴露块设备通常会导致其他并发症(例如, 一个普通的容器不能挂载文件系统,所以你需要 运行 它和 --privileged
,从安全的角度来看,这可能是可以接受的,也可能是不可接受的,这取决于你的环境。
对于存储,更常见的做法是在 主机 上安装设备,然后将这些文件系统作为 Docker 卷 (-v /host/path:/container/path
) 公开给容器.
我如何将 HBA 卡(在 centos 7 上的物理服务器 运行 上)连接到 docker 容器?当我正在做 POC 以从现有环境迁移到 docker 时,这是非常需要的。它类似于 VMware ESXi 中的直接 IO(可以通过直接 I/O 将物理 hba 附加到 VM)。
Docker 不是管理程序,容器不是 VM,"attaching devices" 对容器来说不一定有意义——容器只是一个进程 运行正在您的主机上。
您可以使用 --device
标志将 /dev
中的设备节点暴露给容器 docker run
,尽管在容器中暴露块设备通常会导致其他并发症(例如, 一个普通的容器不能挂载文件系统,所以你需要 运行 它和 --privileged
,从安全的角度来看,这可能是可以接受的,也可能是不可接受的,这取决于你的环境。
对于存储,更常见的做法是在 主机 上安装设备,然后将这些文件系统作为 Docker 卷 (-v /host/path:/container/path
) 公开给容器.