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

如何通过单条docker run命令在容器内执行指定命令?

Docker单条命令启动容器并执行指定命令的正确写法

直接用bash的-c参数传递要执行的命令就行,你之前用--eval是找错参数了,具体写法如下:

基础用法(执行单条命令)

docker run -it --entrypoint /bin/bash image:v1.1 -c "ls"

这里-c是bash的标准参数,用来指定要执行的命令字符串,容器启动后会执行ls,执行完就退出。

执行多条命令

如果要一次性执行多个命令,用分号分隔后放在引号里:

docker run -it --entrypoint /bin/bash image:v1.1 -c "ls; pwd; echo '当前目录内容如上'"

非交互式场景

要是不需要进入容器交互,只是后台执行命令,去掉-it参数就行:

docker run --entrypoint /bin/bash image:v1.1 -c "ls"

为什么之前的写法不对?

--eval不是bash的合法参数,bash只会把它当成普通的命令名去执行,自然找不到这个命令,所以用-c才是正确的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 14:39:54