I couldn't connect it by remote or even docker exec -it container bash. What's wrong with my script?
The log seems that, user has been added successfully, but why exit in the end?
There is must something wrong with my bash code, so what's the problems here?
Docker version 1.13.1, build 092cba3
dockerfile
FROM ubuntu:16.04
MAINTAINER TonyWang <plantpark.net@gmail.com>
RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927
RUN echo "deb http://repo.mongodb.org/apt/ubuntu $(cat /etc/lsb-release | grep DISTRIB_CODENAME | cut -d= -f2)/mongodb-org/3.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list
RUN apt-get update && apt-get install -y mongodb-org
RUN mkdir -p /data/db
ADD set_mongodb_password.sh /set_mongodb_password.sh
EXPOSE 27017 28017
CMD ["/set_mongodb_password.sh"]
set_mongodb_password.sh
#!/bin/bash
set -m
/usr/bin/mongod
sleep 5
mongo admin --eval "help" >/dev/null 2>&1
mongodb_cmd="mongod --storageEngine wiredTiger"
cmd="$mongodb_cmd --httpinterface --rest --master"
cmd="$cmd --auth"
$cmd &
sleep 2
mongo admin --eval "db.createUser({user: 'rootUser', pwd: 'rootPass', roles:[{role:'root',db:'admin'}]});"
mongo admin -u rootUser -p rootPass << EOF
use admin
db.createUser({user: 'testuser', pwd: 'testpass', roles:[{role:'dbOwner',db:'Mongotest'}]})
EOF
docker logs container
MongoDB shell version: 3.2.12
connecting to: admin
2017-03-19T13:52:52.591+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:45052 #1 (1 connection now open)
2017-03-19T13:52:52.591+0000 I ACCESS [conn1] note: no users configured in admin.system.users, allowing localhost access
Successfully added user: {
"user" : "rootUser",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
2017-03-19T13:52:52.617+0000 I NETWORK [conn1] end connection 127.0.0.1:45052 (0 connections now open)
MongoDB shell version: 3.2.12
connecting to: admin
2017-03-19T13:52:52.650+0000 I NETWORK [initandlisten] connection accepted from 127.0.0.1:45054 #2 (1 connection now open)
2017-03-19T13:52:52.663+0000 I ACCESS [conn2] Successfully authenticated as principal rootUser on admin
switched to db admin
Successfully added user: {
"user" : "testuser",
"roles" : [
{
"role" : "dbOwner",
"db" : "Mongotest"
}
]
}
bye
2017-03-19T13:52:52.677+0000 I NETWORK [conn2] end connection 127.0.0.1:45054 (0 connections now open)