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

标签 linux bash mongodb shell docker

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

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

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

这是我正在执行的命令。

docker exec -it mongoDB bash -c 'mongo ; use test; db.test.find({})'

那个命令给我那个

bash: -c: line 0: syntax error near unexpected token {}'

bash: -c: line 0:mongo ; use test; db.test.find({})'

这可能吗?

我希望你能帮助我。

问候,

罗斯。

最佳答案

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

例子:

myFile.js

文件内容:

use myDB
show collections

然后你可以执行这个文件

mongo < myFile.js

在你的情况下:

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

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

您可以 read more here

关于linux - 从 shell 到 docker 容器执行多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44151164/

相关文章:

c# - 在 Linux 中使用 GSMComm

c - 为什么我的系统中有这么多版本的头文件?

bash 选项卡自动完成速度太慢,但不是 teraterm 或 putty

java - Morphia/Java新版本中如何传入用户名和密码?

linux - 从硬件 IRQ 号获取 Linux IRQ 号

php - 如何将 CRLF 作为参数传递给命令行程序?

找不到 PostgreSQL 命令 psql,无法添加到 $PATH

linux - 如何在 linux ssh here 脚本中禁止评论

javascript - $set 和 $push 用于同一 mongodb 更新中的多个文档

mysql - 非技术人员的 SQL 和 NoSQL 类比