docker与芒戈用户

我正在尝试为安全原因创build一个mongodb用户。 现在我有以下Dockerfile:

FROM mongo:3.3 RUN mongo admin --eval "db.getSiblingDB('db').createUser({user: 'test', pwd: 'test'})" 

当我运行docker时,出现以下错误:

 MongoDB shell version: 3.3.5 connecting to: admin 2016-05-17T13:31:07.821+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, reason: Connection refused 2016-05-17T13:31:07.821+0000 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:229:14 @(connect):1:6 exception: connect failed ERROR: Service 'mongodb' failed to build: The command '/bin/sh -c mongo admin --eval "db.getSiblingDB('db').createUser({user: 'test', pwd: 'test'})"' returned a non-zero code: 1 

我想这是因为这个时候mongod没有运行?

那么我怎样才能创build这个mongodb用户呢?

Dockerfile:

 FROM mongo:3.3 COPY setup.sh /setup.sh RUN /setup.sh 

setup.sh:

 #!/bin/bash mongod & RET=1 while [[ RET -ne 0 ]]; do echo "=> Waiting for confirmation of MongoDB service startup" sleep 5 mongo admin --eval "help" >/dev/null 2>&1 RET=$? done ADMINUSER=user ADMINPASS=pass echo "=> Creating an admin user in MongoDB" mongo admin --eval "db.createUser({user: '$ADMINUSER', pwd: '$ADMINPASS', roles:[{role:'root',db:'admin'}]});" mongod --shutdown