添加用angular色添加创buildmongodb和用户的语法问题

我已经开始用auth构build我的第一个docker容器。

我有一个Python脚本,从我们的密码安全提取凭据,并使其可用于一个bash脚本,然后设置pipe理数据库和用户。

我使用一个RUN命令的python脚本,这很好。

当我login到容器并运行它时,bash脚本run.sh运行完美。

但是,它应该作为CMD的一部分肯定地运行?

Dockerfile摘录:

ADD set_mongo_passwords.py / ADD run.sh / RUN chmod +x /run.sh RUN chmod +x /set_mongo_passwords.py RUN python /set_mongo_passwords.py <user> <password> CMD ["/bin/bash","/run.sh"] 

Bash脚本

 #!/bin/sh mongod --auth source mongodb_credentials.txt # Wait for MongoDB to boot 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 echo "=> Creating admin user" mongo admin --eval "db.createUser({user: '$MONGO_ADMIN_USER', pwd: '$MONGO_ADMIN_PASSWORD', roles:[{role:'userAdminAnyDatabase',db:'admin'}]});" sleep 3 echo "=> Creating IawApi user" mongo admin -u $MONGO_ADMIN_USER -p $MONGO_ADMIN_PASSWORD --eval "db.createUser({user: '$MONGO_IAWAPI_USER', pwd: '$MONGO_IAWAPI_PASSWORD', roles:[{role:'dbOwner',db:'IawApi'}]});" echo "=> Creating vpnDebugger user" mongo admin -u $MONGO_ADMIN_USER -p $MONGO_ADMIN_PASSWORD --eval "db.createUser({user: '$MONGO_VPNDEBUGGER_USER', pwd: '$MONGO_VPNDEBUGGER_PASSWORD', roles:[{role:'dbOwner',db:'vpnDebugger'}]});" echo "Done!" # delete anything that can be used to gain access to credentials rm -f mongodb_credentials.txt rm -f set_mongo_passwords.py