首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可以传递给Docker的字符串CMD的最大大小

可以传递给Docker的字符串CMD的最大大小
EN

Stack Overflow用户
提问于 2022-01-17 07:24:12
回答 2查看 1.1K关注 0票数 0

在Docker引用中,我没有找到任何关于字符串可以传递到Docker多长时间的信息。

什么是limitations?

  • What是我可以传递给CMD的最大字符数?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-17 08:54:50

@ZenithS您适合Windows (8192个字符),但是Linux并不是那么容易。

简而言之:对于Linux,它是硬编码到64或128个kiB。您可以使用xargs --show-limits进行检查,它提供了非常详细的概述:

代码语言:javascript
复制
Your environment variables take up 5354 bytes
POSIX upper limit on argument length (this system): 2089750 <-- ARG_MAX
POSIX smallest allowable upper limit on argument length (all systems): 4096
Maximum length of command we could actually use: 2084396 <-- ARG_MAX - ENV
Size of command buffer we are actually using: 131072 <-- Hardcoded limit which applies actually (see below)
Maximum parallelism (--max-procs must be no greater): 2147483647

硬编码限制转到MAX_ARG_STRLEN,它被设置为PAGE_SIZE * 32 https://github.com/torvalds/linux/blob/v5.16-rc7/include/uapi/linux/binfmts.h#L15

使用getconf PAGE_SIZE,您可以检查(在现代平台上主要是2048或4096 ),从而得到64或128个kiB。

票数 0
EN

Stack Overflow用户

发布于 2022-01-17 07:35:29

我做了一个简单的测试,发现在我的CentOS 7/x64机器上,dockerfile行的限制是65535。

代码语言:javascript
复制
#./build.sh
Sending build context to Docker daemon    363kB
Error response from daemon: failed to parse Dockerfile: dockerfile line greater than max allowed size of 65535
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70737793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档