繁体   English   中英

如何在Docker中挂载Hugepages

[英]How to Mount Hugepages inside Docker

我有一个在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"]

但我看不到mout命令挂载Hugepages,为什么?

任何人都可以指出我,可以这样做吗?

有很多东西在手;

首先,一个Dockerfile仅具有单个命令( CMD ); 你在做什么是行不通的; 如果启动容器时需要执行多个步骤,请考虑使用入口点脚本,例如, 这是官方mysql映像的入口点脚本。

其次,在容器中进行mount需要其他特权。 您可以使用--privileged但是这可能一步之遥,并且给容器提供了太多特权。 您可以尝试使用--cap-add SYS_ADMIN代替来运行容器。

替代解决方案

一个更干净的解决方案可能是在主机上挂载大量页面 ,并允许容器访问该设备。

docker run --device=/dev/hugepages:/dev/hugepages ....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM