#mongodb #bitnami
Вопрос:
Я пытаюсь настроить bitnami mongodb разделенный докер из https://github.com/bitnami/bitnami-docker-mongodb-sharded с помощью docker-составьте-несколько-осколков.yml
1. How can i setup authentication to connect
2. How can i connect outside from docker
Заранее спасибо
Ответ №1:
Аутентификация должна быть включена по умолчанию. Docker Docker-compose по умолчанию создаст пользователя root
с паролем password123
.
Чтобы изменить пароль root, вы можете изменить переменные среды MONGODB_ROOT_PASSWORD
во всех первичных и MONGODB_PRIMARY_ROOT_PASSWORD
во всех вторичных системах на одно и то же значение.
Затем вы можете подключиться к mongos
контейнерам (mongodb-sharded и mongodb-sharded2) и создать дополнительных пользователей, как описано в документации MongoDB: https://docs.mongodb.com/manual/tutorial/deploy-sharded-cluster-with-keyfile-access-control/#create-the-user-administrator
Например:
$ docker-compose exec mongodb-sharded bash
$ mongo -u root -p my_secure_pass
> admin = db.getSiblingDB("admin")
> admin.createUser(
{
user: "fred",
pwd: passwordPrompt(), // or cleartext password
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Что касается вашего второго вопроса, docker-compose будет настроен по умолчанию ports: ["27017:27017"]
на основном сервере mongos (разделенном на mongodb), что означает, что порт 27017 на вашем хосте будет перенаправлен в разделенный кластер MongoDB.
Затем вы можете, например, подключить клиентов MongoDB к хосту Docker с помощью:
mongo --host dockerhost_ip --port 27017 -u root -p my_secure_pass