Ubuntu docker镜像不包含任何/ dev / sdX块设备?

在普通的linux机器或虚拟机上,“ls / dev”会显示大量的sdX或hdX硬盘信息。

但今天我只是尝试最新的docker和Ubuntu的形象。 ls显示了这一点:

console core fd full mqueue null ptmx pts random shm stderr stdin stdout tty urandom zero 

我没有看到任何称为sdX或hdX。

为什么是这样? docker ubuntu如何在没有/ dev / sdX的情况下存储任何东西?

Docker不会创build虚拟机,它会创build容器来在独立的空间中运行应用程序。 包括物理硬件设备将允许这些应用程序从容器隔离转义,所以它们不是默认提供的。 您可以使用docker run --device ... cli标志在容器内包含特定设备,而且您很可能需要包含--privileged向root用户返回已删除的各种function。 这不推荐用于运行不受信任的容器。