ОК, вот способ добавить аутентификацию через Dockerfile.
db = new Mongo().getDB("admin");
// create admin user
db.createUser({
user: "admin",
pwd: "password",
roles: [
{
role: "clusterAdmin",
db: "admin"
}
]
});
// create non admin user
db.createUser({
user: "toto",
pwd: "123",
roles: [
{
role: "readWrite",
db: "tube"
}
]
});
FROM mongo
# init.js will be executed when the mongo instance runs
COPY ./init.js ./docker-entrypoint-initdb.d
docker build -t mongoAuth .
- запуск контейнера (в прикрепленном режиме для просмотра журналов)
docker run --name mongoContainer -p 27017:27017 mongoAuth
Чего мне не хватало, так это того, что я не установил базу данных для создания пользователей (базу данных администратора) с помощью:
db = new Mongo().getDB("admin");