MongoDB — Начало работы с сообществом MongoDB и Docker

Я следую официальным шагам, описанным на сайте MongoDB, чтобы заставить MongoDB работать с Docker.

Я выполнил шаги (почти) до буквы.

$ docker pull mongodb/mongodb-community-server:6.0-ubuntu2204
$ docker run --name mongodb-6.0 --platform=linux/amd64 -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password -d mongodb/mongodb-community-server:6.0-ubuntu2204

А потом... я застрял! Я не могу связаться с mongosh.

$ docker exec -it mongo-6.0 mongosh -u admin -p password
Current Mongosh Log ID: 643ddf8b9d8b6b3b6b4bc7d1
Connecting to:      mongodb://<credentials>@127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.8.0
MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017

Хм, хорошо. Значит, у меня не работает служба mongod?

Что ж, используя docker ls, я знаю, что контейнер запущен...

CONTAINER ID   IMAGE                                         COMMAND                  CREATED         STATUS         PORTS                      NAMES
5e4092196022   mongodb/mongodb-community-server:6.0.5-ubi8   "python3 /usr/local/…"   6 minutes ago   Up 6 minutes   0.0.0.0:27017->27017/tcp   mongo

И я почти уверен, что у меня есть mongod бег

$ docker exec mongo-6.0 ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
mongodb      1  0.0  0.5 172248 43688 ?        Ssl  00:00   0:00 /usr/bin/qemu-x86_64 /usr/bin/python3 python3 /usr/local/bin/docker-entrypoint.py mongo
mongodb     11  100  0.4 281104 33772 ?        Rl   00:00   9:51 /usr/bin/qemu-x86_64 /usr/bin/mongod /usr/bin/mongod --bind_ip 127.0.0.1 --port 27017 -
mongodb     55  0.0  0.1 151596  9808 ?        Rl+  Apr17   0:00 ps aux

Итак, я понятия не имею, как продолжить устранение неполадок. Помощь! :-)

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
0
89
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

docker exec -it mongodb-6.0 mongosh -u admin -p password
Ответ принят как подходящий

Я почти уверен, что это проблема Apple Silicon M1.

Как вы можете видеть в вопросе, я передал флаг --platform=linux/amd64 после получения ошибок.

Я повторил все свои шаги на Mac на базе Intel, и у меня не было никаких проблем.

Итак, вместо использования образа Community Edition я использую официальный образ Docker для MongoDB. 🤷🏼‍♂️

Другие вопросы по теме