如何在Docker中安装Hugepages

时间:2016-01-14 10:42:36

标签: linux linux-kernel docker virtualization

我在Docker中运行的应用程序需要运行Huge-page。现在我尝试了以下命令集。

CMD ["mkdir", "-p" ,"/dev/hugepages"]
CMD ["mount" ,"-t", "hugetlbfs" , "none", "/dev/hugepages"]
CMD ["echo 512" ,">" ,"/proc/sys/vm/nr_hugepages"]
CMD ["mount"]

但我没有看到Hugepages从mout命令开始,为什么?

有人可以指出我,是否可以这样做?

1 个答案:

答案 0 :(得分:4)

手头有很多东西;

首先,Dockerfile只有一个命令(mount);你正在做什么是行不通的;如果在启动容器时需要执行多个步骤,请考虑使用入口点脚本,例如this is the entrypoint script of the official mysql image

其次,在容器中执行--privileged需要额外的权限。您可以使用--cap-add SYS_ADMIN,但这可能过于宽泛,并且给容器提供了太多的权限。您可以尝试使用docker run --device=/dev/hugepages:/dev/hugepages .... 来运行容器。

替代解决方案

更清晰的解决方案可能是在主机上安装大页面,并让容器访问该设备,例如;

{{1}}