我有一个容器,必须使用大于默认64Mb的/ dev / shm运行。它可以像这样运行它:
docker run --shm-size=1G my-container
虽然必须提供&shm-size'每次争论,容易错过对不熟悉容器的人。如果容器本身可以具有自定义默认shm大小,那将是很好的。这可能吗?
答案 0 :(得分:1)
没有。我认为不应该出于以下原因:
然而,你可以做的是在入口点脚本中检查/ dev / shm分区的大小并大声拒绝运行。
答案 1 :(得分:1)
问:图片可以自定义默认shm大小吗?
答:简短回答,否。
这是不可能的,因为您只能在运行时打开共享内存。
问:强> 虽然每次都必须提供“shm-size”参数,但不熟悉容器的人很容易错过,这是不方便的。
答:我看到了您的问题。
也许你可以使用docker-labels
。将shm-size=1G
之类的键值对标签添加到docker images
。
然后创建一个简单的脚本来执行docker inspect
,从图像中读取键值对,然后执行通常的docker run --shm-size=read_value
。
Docker标签:
LABEL指令将元数据添加到图像。 LABEL是键值对。要在LABEL值中包含空格,请使用引号和反斜杠,就像在命令行解析中一样。一些用法示例:
查看强>:
答案 2 :(得分:1)
从docker 17.04开始,您可以使用--default-shm-size选项。但当然它会产生全球影响
https://github.com/moby/moby/blob/master/CHANGELOG.md#17040-ce-2017-04-05