繁体   English   中英

从 shell 到 docker 容器执行多个命令

[英]Execute multiple commands from shell to docker container

我试图在一个命令中执行,从 docker 容器执行 bash,打开 mongo 并使用类似的内容发出请求

'db.test.find({});'

我正在阅读其他类似的帖子,但没有成功。

这是我正在执行的命令。

docker exec -it mongoDB bash -c 'mongo ; 使用测试; db.test.find({})'

那个命令给了我那个

bash:-c:第 0 行:意外标记附近的语法错误 {}'

bash: -c: 行 0:mongo ; 使用测试; db.test.find({})'

这可能吗?

我希望你能帮助我。

问候,

罗斯。

这实际上是可能的,使用一个文件来执行多个命令。 将您的 mongo 脚本放入一个文件中。

示例:

myFile.js

文件内容:

use myDB
show collections

然后你可以执行这个文件

mongo < myFile.js

在你的情况下:

docker exec -it mongoDB bash -c 'mongo < myFile.js'

不要忘记将此文件复制到您的 docker 容器中。

你可以在这里阅读更多

您实际上并不需要将脚本复制到容器中。

你可以简单地运行:

docker exec -it mongoDB bash -c 'mongo' < myFile.js

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM