• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed docker-compose i mongodb, użytkownicy

Object Storage Arubacloud
+1 głos
212 wizyt
pytanie zadane 19 maja 2021 w Inne języki przez Jakub 0 Pasjonat (23,120 p.)
zamknięte 19 maja 2021 przez Jakub 0

Witam, mam następujący plik docker-compose.yml:

version: "3.7"
services:
  mongodb_container:
    image: mongo:latest
    environment:
      - MONGO_INITDB_DATABASE=notebook
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=secret
    ports:
      - 27018:27017
    volumes:
      - data:/data/db
      - ./mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro

volumes:
  data:

oraz plik mongo-init.js:

db.createUser({
  user: 'jakub',
  pwd: 'secret',
  roles: [
    {
      role: 'dbOwner',
      db: 'notebook',
    },
  ],
});

Teraz powinienem mieć użytkownika root oraz jakub. Uruchamiam:

docker compose up

Kiedy używam MongoDB Compass, to działa poniższe połączenie:

mongodb://root:secret@127.0.0.1:27018

nie działa jednak połączenie do konkretnej bazy i dla użytkownika jakub (stworzonego wewnątrz mongo-init.js) :

mongodb://jakub:secret@127.0.0.1:27018/notebook

Mam powiadomienie, że uwierzytelnienie się nie powiodło. W logach jest komunikat:

Could not find user "jakub" for db "admin"

Nie wiem, czemu łączy się z bazą admin skoro wpisałem notebook.

Morduje się z tym od wczoraj i już powoli nerwy mi siadają... jak ktoś mi pomoże i zakończy moje cierpienie to będę bardzo wdzięczny laugh

Pozdrawiam serdecznie smiley

komentarz zamknięcia: Moja znajomość MongoDB jest na wątpliwym poziomie (rozwiązałem)
komentarz 19 maja 2021 przez Jakub 0 Pasjonat (23,120 p.)

Jak ktoś by chciał jeszcze pomóc, to dodam że ogólnie użytkownicy działają z poziomu mongo shell. Działa zarówno dla:

mongo -u root

jak i:

mongo -u jakub notebook

Problem jest tylko z URL'em. Działa tylko dla root:secret ale już nie dla jakub:secret.

2 odpowiedzi

0 głosów
odpowiedź 19 maja 2021 przez niezalogowany
komentarz 19 maja 2021 przez Jakub 0 Pasjonat (23,120 p.)

Niestety, po przeczytaniu tego wydaje mi się, że wszystko mam dobrze.

Jak tego nie naprawę to cóż, zawsze mogę z roota tylko się łączyć...

1
komentarz 19 maja 2021 przez niezalogowany

no cóż próbowałem wink

Powodzenia życzę.yes

0 głosów
odpowiedź 19 maja 2021 przez Jakub 0 Pasjonat (23,120 p.)

Ruszyło mi w następującej formie:

mongodb://jakub:secret@127.0.0.1:27018/notebook?authSource=notebook

musiałem dodać dodatkowo parametr query authSource=notebook.

Więcej informacji: https://stackoverflow.com/questions/57434521/mongodb-could-not-find-user-userdatabase/57436441

Podobne pytania

0 głosów
0 odpowiedzi 86 wizyt
pytanie zadane 2 stycznia 2020 w Inne języki przez kevin Mądrala (5,010 p.)
0 głosów
1 odpowiedź 244 wizyt
pytanie zadane 3 stycznia 2018 w Inne języki przez gromula Stary wyjadacz (10,070 p.)
0 głosów
0 odpowiedzi 230 wizyt
pytanie zadane 30 września 2019 w PHP przez michal_php Stary wyjadacz (13,700 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...