Я запускаю свою базу данных mongo с помощью docker-compose
version: '3'
services:
db:
image: mongo:4
ports:
- "27017:27017"
volumes:
- ./storage/mongo:/data/db:rw
environment:
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=admin123
command: --smallfiles --bind_ip_all --port 27017
Когда я делаю
$> docker-compose exec db bash
Я могу просто подключиться к моей БД
$> mongo -u admin -p admin123
Однако, когда я делаю то же самое с моей хост-системы, я не могу подключиться
(master) ✗ mongo -u admin -p admin123
MongoDB shell version v4.0.3
connecting to: mongodb://127.0.0.1:27017
Implicit session: session { "id" : UUID("8689631e-ac9c-40f8-aa2a-e55f6103224f") }
MongoDB server version: 4.0.9
2019-05-11T17:44:19.181+0200 E QUERY [js] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1685:20
@(auth):6:1
@(auth):1:2
exception: login failed
Я тоже пытался с --host 0.0.0.0
, но тот же результат. Ниже приведен список ps
$> docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------------------------------------------
db_1 docker-entrypoint.sh --sma ... Up 0.0.0.0:27017->27017/tcp
У меня такое ощущение, что mongo не принимает удаленные подключения, поэтому я добавил command: --smallfiles --bind_ip_all --port 27017
, но это не помогло. Любое предложение, что я делаю не так?