mxx*_*xxk 9 entry-point docker docker-compose
我试图了解ENTRYPOINTDockerfile 和docker run --entrypoint. 允许多个参数的exec形式ENTRYPOINT,
# Source: https://docs.docker.com/engine/reference/builder/#entrypoint
ENTRYPOINT ["executable", "param1", "param2"]
Run Code Online (Sandbox Code Playgroud)
但docker run --entrypoint=executable只接受一个。许多示例展示了如何ENTRYPOINT使用参数覆盖,但它们也通过指定CMD:
docker run --entrypoint=executable image:latest param1 param2
Run Code Online (Sandbox Code Playgroud)
是否存在阻止直接docker run --entrypoint等效于的技术限制ENTRYPOINT ["executable", "param1", "param2"]?Docker Compose 似乎支持它
# Source: https://docs.docker.com/engine/reference/builder/#entrypoint
ENTRYPOINT ["executable", "param1", "param2"]
Run Code Online (Sandbox Code Playgroud)
与使用 Docker 的其他提供商(例如 AWS ECS)一样。或者,也许,在内部,[...entrypoint_args, ...command_args]实际上被按摩成[entrypoint, ...command]使其与docker run?
Docker cli 使用 Golang CLI 管理器spf13/cobra来处理其标志,例如--entrypoint.
这是提取入口点的地方:
flags.StringVar(&copts.entrypoint, "entrypoint", "", "Overwrite the default ENTRYPOINT of the image")
Run Code Online (Sandbox Code Playgroud)
StringVar由于它解析命令行参数的方式,spf13/pflag库将仅提取标志后的第一个字符串。因此,如果它们以空格分隔或未用双引号括起来,则不会获取标志后的所有字符串"。所以这似乎是技术限制。
| 归档时间: |
|
| 查看次数: |
1094 次 |
| 最近记录: |