![](/img/trans.png)
[英]"sqlplus": executable file not found in $PATH" when running a command with docker exec
[英]Docker exec error “executable file not found in $PATH”: unknown" when running a command as a string
以下是我尝试运行的命令:
docker exec sandbox_1 'influxd-ctl sandbox_1:8091'
我知道显然这意味着容器将使用确实具有必要的$PATH
的其他外壳执行它,但是我不确定如何处理。
对于它的价值,我尝试了不带单引号的influxd-ctl
,但没有读取命令的其余部分。
docker exec sandbox_1 influxd-ctl sandbox_1:8091
思考?
更新:我也尝试运行bash -c <string>
作为传递给exec
的命令,但这似乎也不起作用。
不应使用单引号。 Exec命令将命令及其参数作为单独的参数。
根据您的情况,正确的命令应为:
docker exec <container> influxd-ctl <container>:8091
您还可以在容器内有外壳时测试命令,如下所示:
docker exec -it <container> bash
然后,您应该(提供的bash在容器内可用,否则可以使用其他shell)获得如下所示的根shell:
root@<container>:~#
注意:根据在用于构建容器映像的Dockerfile中设置的位置,工作目录可能会有所不同。
在与容器进行交互的交互式外壳中,您可以显式地尝试命令,而无需Exec命令来回传递东西。
root@<container>:~# influxd-ctl <container>:8091
如果发现您的命令在那里不起作用,则可能influxd-ctl命令期望使用与您建议的参数不同的参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.