Mongo Docker镜像的多个命令

我正在尝试在Docker撰写文件中编写一些Mongo实例的设置。 我好像第二个命令永远不会运行(这应该启动这个容器作为主集在repl集)。 这是我的命令:

docker run -d mongo /bin/bash -c "mongod --replSet \"test\"; mongo --eval \"rs.initiate({_id:'test',members:[{_id:0,host:'localhost:27017'}]})\"" 

当我然后执行到容器并执行一个rs.config时,它表示尚未运行。 那么,我该如何去发布多个命令来启动一个Mongo容器呢?

看起来你正在启动mongo守护进程作为第一个命令。

你确定这个命令返回吗? 在容器中的“docker exec”之前似乎没有完成执行。 这可能是为什么第二个命令没有执行。

也许试着把命令放在“后台”中用“&”

 docker run -d mongo /bin/bash -c "mongod --replSet \"test\" &; mongo --eval \"rs.intiate({_id:'test',members:[{_id:0,host:'localhost:27017'}]})\""