作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个在 Docker 中运行的应用程序需要大页面才能运行。现在我尝试执行相同的命令集。
CMD ["mkdir", "-p" ,"/dev/hugepages"]
CMD ["mount" ,"-t", "hugetlbfs" , "none", "/dev/hugepages"]
CMD ["echo 512" ,">" ,"/proc/sys/vm/nr_hugepages"]
CMD ["mount"]
但是我没有看到 Hugepages 从 mout 命令挂载,为什么?
谁能指点一下,是否可行?
最佳答案
手边有很多事情;
首先,一个Dockerfile只有一个单个命令(CMD
);你所做的是行不通的;如果您需要在容器启动时执行多个步骤,请考虑使用入口点脚本,例如 this is the entrypoint script of the official mysql image
其次,在容器中执行mount
需要额外的权限。您可以使用 --privileged
但这一步可能太宽了,并且给容器太多的特权。您可以尝试使用 --cap-add SYS_ADMIN
运行容器。
一个更简洁的解决方案可能是在主机上安装大页面,并让容器访问该设备,例如;
docker run --device=/dev/hugepages:/dev/hugepages ....
关于linux - 如何在 Docker 中挂载 Hugepages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34787506/
我是一名优秀的程序员,十分优秀!