С https://hub.docker.com/_/mongo/ вам нужно запустить БД с отключенной аутентификацией, подождать, пока монго раскрутится, создать пользователя, перезапустить контейнер с включенной аутентификацией.
https://hub.docker.com/r/bitnami/mongodb/ добавлен удобный скрипт:
Вы можете создать пользователя с ограниченным доступом к базе данных при первом запуске контейнера. Для этого укажите переменные среды MONGODB_USERNAME, MONGO_PASSWORD и MONGODB_DATABASE.
$ docker run --name mongodb \
-e MONGODB_USERNAME=my_user -e MONGODB_PASSWORD=password123 \
-e MONGODB_DATABASE=my_database bitnami/mongodb:latest
Похоже, у вас настроены переменные среды bitnami, но используйте исходное изображение image: mongo:latest
там, где они не используются.
Так что либо используйте image: bitnami/mongodb:latest
, либо добавьте пользователя вручную.
Обновление:
Начиная с версии 3.0 вы можете воспользоваться Исключением Localhost , поэтому вам не нужно перезапускать контейнер. Вместо этого вы можете запустить его с включенной аутентификацией, подождать некоторое время, пока сервер начнет слушать, создать пользователей из контейнера, например,
docker exec mongo4 mongo test1 \
--eval 'db.createUser({user: "test", pwd: "test123", roles: [ "readWrite", "dbAdmin" ]});'