You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker run指定--entrypoint执行带参脚本失败,求正确语法

Docker --entrypoint 语法问题分析

你的错误在于把带参数的完整命令直接传给了--entrypoint,Docker会将整个字符串"/bin/sh -c 'my-script.sh arg1 arg2'"当作一个单独的可执行文件路径去查找,自然找不到对应的文件,所以报错。

--entrypoint的作用是指定容器启动时执行的单个可执行程序,程序的参数需要放在镜像名后面作为容器命令传递,而不是写在--entrypoint里。

正确的写法有两种:

  • 用sh作为entrypoint,后面跟命令参数:
docker run --entrypoint sh my-image:latest -c 'my-script.sh arg1 arg2'
  • 用完整路径的/bin/sh:
docker run --entrypoint /bin/sh my-image:latest -c 'my-script.sh arg1 arg2'

这样Docker会先启动sh进程,再将-c 'my-script.sh arg1 arg2'作为参数传给sh,最终执行你需要的脚本命令,和你进入容器后手动执行的逻辑一致。

内容的提问来源于stack exchange,提问作者pkaramol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 10:25:34