作为Docker世界的新手,来自虚拟机心态。我从docker hub下载了一个用于弹性搜索的docker镜像。我正在考虑我需要做的任何配置,因为很多数据都会被转发到这个图像。我需要考虑可用的磁盘空间。在虚拟机世界中,我总是可以添加额外的vhds来增加磁盘大小等。在docker世界中有什么类似的操作?
答案 0 :(得分:2)
Docker容器使用写入时复制存储驱动程序(如aufs,btrfs,...)来管理容器层。容器完成的所有写操作都保留在顶部读写层中。这些层(尤其是写入层)决定了容器的大小。
Docker容器有一个大小限制,称为基本设备大小。默认值为10GB。可以更改此值以允许容器使用dockerd --storage-opt dm.basesize=50G
具有更大的大小。这将使容器的rootFS大小为50GB。
但是,这不是处理增加容器大小的重写操作的推荐方法。推荐的方法是使用Docker卷。容器层的Docker本地存储区域中不会保留卷(即/var/lib/docker/<storage-driver>/...
),因此它们与容器的存储驱动程序无关。因此,它们对容器的大小没有贡献。
容器可以拥有的卷数没有限制。建议将容器内的目录映射到卷中。
有关存储驱动程序的详细信息,请检查About storage drivers
注意:对于写入量很大的应用程序,不应存储数据 容器。而是使用Docker卷,它独立于 正在运行的容器,旨在提高I / O效率。在 此外,卷可以在容器之间共享,不会增加 容器可写层的大小。
答案 1 :(得分:1)
使用装入容器的卷进行存储。这样容器的大小就不会太大。