Я пытаюсь настроить локальный экземпляр Mongo с помощью Docker в целях разработки. Мне нужно включить аутентификацию, и согласно документы это возможно.
Проблема в том, что после того, как я создаю начального пользователя-администратора (используя документы, приведенные выше), следующим шагом будет подключение «извне», что не удается. Я также хотел бы иметь возможность подключаться через толстый клиент (я использую Robo 3T).
Я создал контейнер докеров, используя:
docker run --name mongodb -p 0.0.0.0:27017:27017 -d mongo --auth
Затем я создал пользователя с правами администратора:
docker exec -it mongodb mongo admin
> db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] });
Затем я попытался войти в систему извне, используя:
docker run -it --rm --link mongodb:mongo mongo mongo -u root -p 123456
я получаю ошибку:
MongoDB shell version v3.6.2
connecting to: mongodb://127.0.0.1:27017
2018-01-26T16:17:34.309+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2018-01-26T16:17:34.309+0000 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed
Я думаю, что что-то неправильно понимаю, но не знаю, что именно.
Убедитесь, что каталог / data / db имеет необходимые разрешения, запустив
sudo chown -R
id -un
/ data / dbВведите ваш пароль