
Я создал файл docker-compose, как написано на docker hub/mongodb, а затем использую команду, docker-compose up -d
которая довольно стандартна для запуска контейнера.
# Use root/example as user/password credentials
version: '3.1'
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
environment:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: example
ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/
bf4a595a508d mongo-express "tini -- /docker-ent…" About an hour ago Up About an hour 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp intake-app_mongo-express_1
b5fcc2d2386d mongo "docker-entrypoint.s…" About an hour ago Up About an hour 27017/tcp intake-app_mongo_1
Теперь я пытаюсь подключить к нему свой бэкэнд.
С postresql это будет что-то вроде
postgresql://root:example@localhost:8081/db_name
Что будет с Монго?
PS: Я могу подключиться к базе данных в моем веб-браузере по адресу http://localhost:8081, но не могу подключиться к базе данных из командной строки с помощью mongo
.
решение1
Изофициальная страница docker hub:
Сервер MongoDB на изображении прослушивает стандартный порт MongoDB, 27017, поэтому подключение через сети Docker будет таким же, как и подключение к удаленному mongod.
Вы не указываете, откуда и как вы подключаетесь. Если это другой контейнер, то вы можете использовать порт напрямую, в противном случае вам нужно сначала его раскрыть.
Что касается строки подключения, то она обычно изофициальные документы:
mongo mongodb://$[список_хостов]/$[база_данных]?authSource=$[authSource] --username $[имя_пользователя]
Вы также можете использовать mongo-express
контейнер, который вы использовали для получения подробностей выше, или из README docker hub. Так что в вашем случае:
mongodb://root:example@mongo:27017/
Если ваш клиент не находится в контейнере Docker в том же стеке, вам необходимо открыть порт 27017 из первого mongodb
контейнера:
ports:
- "27017:27017"