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'}]})\""