我正在尝试在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时,它显示intiate尚未运行。那么,如何发出多个命令来启动Mongo容器呢?
发布于 2017-02-09 07:40:07
看起来您正在启动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'}]})\""https://stackoverflow.com/questions/42125577
复制相似问题