我正在尝试在我的 MongoDB Docker 容器中执行一个命令。从我的 Linux 命令提示符很容易,并且当我这样做时可以工作。
docker exec -it d886e775dfad mongo --eval 'rs.isMaster()'
上述内容告诉我去一个容器并执行该命令。"mongo --eval 'rs.isMaster()' - This tells mongo to take rs.isMaster() as an input and execute it. This works and gives me the output.
因为我正在尝试通过Bash脚本自动化这个过程,所以我做了这个。
cmd="mongo --eval 'rs.isMaster()"
然后尝试像这样执行
docker -H $node2 exec d886e775dfad "$cmd"
但我猜docker认为容器内的二进制文件现在不是MongoDB或其他内容,因此它会给我以下错误:
rpc error: code = 2 desc = oci runtime error: exec failed: container_linux.go:247: starting container process caused "exec: \"mongo --eval 'rs.isMaster()'\": executable file not found in $PATH"
docker exec --help
中没有列出-c
选项? - undefinedsh
的一个参数 - undefined