首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将后端连接到mongodb坞容器

如何将后端连接到mongodb坞容器
EN

Server Fault用户
提问于 2021-08-14 20:52:12
回答 1查看 4.2K关注 0票数 0

我在docker / mongodb上创建了这个docker-复合文件,然后使用命令docker-compose up -d启动容器,这是非常标准的。

代码语言:javascript
复制
# 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/
代码语言:javascript
复制
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从命令行连接到数据库。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2021-08-14 21:02:17

来自正式码头枢纽页面

映像中的MongoDB服务器侦听标准的MongoDB端口27017,因此通过Docker网络进行连接将与连接到远程单神相同。

你没有说明你是从哪里和如何连接的。如果它是另一个容器,那么您可以直接使用端口,否则您需要首先公开它。

至于连接字符串,通常来自官方文件

mongodb://$/$?authSource=$ -用户名$

您还可以使用您使用的mongo-express容器来获取上述或从码头集线器自述的详细信息。所以在你的情况下:

mongodb://root:example@mongo:27017/

如果客户端不在同一个堆栈中的码头容器中,则需要从第一个mongodb容器中公开端口27017:

代码语言:javascript
复制
ports:
    - "27017:27017"
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1074576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档