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

我试图做一个命令,从docker集装箱做一个bash,打开mongo,并用类似的东西提出请求

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

我正在阅读其他类似的文章没有成功。

这是我正在执行的命令。

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

那个命令给了我这个

bash:-c:第0行:附近出现意外令牌的语法错误{}'

bash:-c:第0行:mongo; 使用testing; db.test.find({})”

这可能吗?

我希望你能帮助我。

问候,

罗斯。

这实际上可能是使用一个文件来执行多个命令。 把你的mongo脚本放到一个文件中。

例:

myFile.js 

文件内容:

 use myDB show collections 

然后你可以执行这个文件

 mongo < myFile.js 

在你的情况下:

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

不要忘记将这个文件复制到您的docker集装箱。

你可以在这里阅读更多