当前位置: 首页 > 知识库问答 >
问题:

Docker MongoDB:如何使用RoboMongo查看数据库?

李和裕
2023-03-14

我如何访问Docker使用RoboMongo或类似工具创建的mongo数据库?

在使用Doncker之前,我已经在Linux机器上安装了mongodb。所以我不能在docker compse中使用端口“27017:27017”。yml。我使用“27018:27018”:

version: "2"
services:
  web:
    build: .
    ports:
      - "3000:3000"
    links:
      - mongo
  mongo:
    image: mongo
    volumes:
      - /data/mongodb/db:/data/db
    ports:
      - "27018:27018"

我可以使用RoboMongo查看我在预docker mongo中创建的所有数据库。但是我怎样才能进入码头工人的房间呢?

这是我的DockerFile:

FROM mhart/alpine-node:latest
ADD package.json /tmp/package.json
RUN cd /tmp && npm install
RUN mkdir -p /opt/app && cp -a /tmp/node_modules /opt/app/

WORKDIR /opt/app
ADD . /opt/app

EXPOSE 3000

CMD ["npm", "start"]

编辑:

在终端上运行docker时:

$ docker-compose up
Starting dummyapp_mongo_1
Recreating dummyapp_web_1
Attaching to dummyapp_mongo_1, dummyapp_web_1
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=571498710dc0
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] db version v3.4.1
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] git version: 5e103c4f5583e2566a45d740225dc250baacfbd7
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1t  3 May 2016
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] allocator: tcmalloc
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] modules: none
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] build environment:
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten]     distmod: debian81
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten]     distarch: x86_64
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten]     target_arch: x86_64
mongo_1  | 2017-01-03T10:20:35.083+0000 I CONTROL  [initandlisten] options: {}
mongo_1  | 2017-01-03T10:20:35.104+0000 I -        [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
mongo_1  | 2017-01-03T10:20:35.104+0000 I STORAGE  [initandlisten] 
mongo_1  | 2017-01-03T10:20:35.104+0000 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
mongo_1  | 2017-01-03T10:20:35.104+0000 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
mongo_1  | 2017-01-03T10:20:35.104+0000 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1454M,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] 
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] 
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] 
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] 
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
mongo_1  | 2017-01-03T10:20:36.385+0000 I CONTROL  [initandlisten] 
mongo_1  | 2017-01-03T10:20:36.389+0000 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
mongo_1  | 2017-01-03T10:20:36.390+0000 I NETWORK  [thread1] waiting for connections on port 27017
web_1    | 
web_1    | > dummy-app@0.0.0 start /opt/app
web_1    | > node ./bin/www

编辑2:

在GET上将端口更改为“27018:27017”后,出现以下新错误http://localhost:3000/data/from/db或发布http://localhost:3000/data/into/db :

failed to connect to server [mongo:27017] on first connect

MongoError: failed to connect to server [mongo:27017] on first connect
    at Pool.<anonymous> (/opt/app/node_modules/mongodb-core/lib/topologies/server.js:325:35)
    at emitOne (events.js:96:13)
    at Pool.emit (events.js:188:7)
    at Connection.<anonymous> (/opt/app/node_modules/mongodb-core/lib/connection/pool.js:270:12)
    at Connection.g (events.js:292:16)
    at emitTwo (events.js:106:13)
    at Connection.emit (events.js:191:7)
    at Socket.<anonymous> (/opt/app/node_modules/mongodb-core/lib/connection/connection.js:173:49)
    at Socket.g (events.js:292:16)
    at emitOne (events.js:96:13)

知道为什么吗?

共有1个答案

秋阳荣
2023-03-14

您确定您的mongoDB正在监听容器中的端口27018吗?仅根据您帖子中的信息,我猜mongob正在监听容器中的默认端口27017,并且您正在将主机27018映射到mongo未监听的容器27018。port项应该如下所示:27018:27017以便主机上未使用的端口27018映射到容器上的正确端口27017。

此公开与npm容器无关,因为它使用不同的机制来公开端口,容器之间有链接。您会发现,如果您将其他mongob客户端放在容器中,链接也适用于它们。但是要从主机进行交互,您需要将容器中的正确端口公开给主机上的可用端口。

https://docs.docker.com/compose/compose-file/#/ports

 类似资料:
  • 使用指南 - 统计设置 - 转化设置 - 如何查看转化数据 设置完成后,您可以在各个报告的自定义指标中查看转化相关的指标,如下图所示: 在报告表头上方的转化目标处,可以查看不同目标带来的转化。 也可以通过“报告”->“转化分析”中的报告查看并分析转化数据。

  • 本文向大家介绍如何查看postgres数据库端口,包括了如何查看postgres数据库端口的使用技巧和注意事项,需要的朋友参考一下 如下所示: Linux: 示例输出: 补充:postgresql 端口不对外开放问题 突然遇到了一个问题, 服务器的postgresql连接不上了,用nmap扫了以下5432端口没有打开 但是在服务器上netstats ps -e|grep 5432 nmap ipt

  • 问题内容: 我在ElasticSearch和Rails时遇到问题,由于attr_protected,其中一些数据未正确索引。Elastic Search在哪里存储索引数据?检查实际的索引数据是否错误将很有用。 检查映射对您没有帮助,将列出该字段。 问题答案: 探索您的ElasticSearch集群的最简单方法可能是使用elasticsearch -head。 您可以通过以下方式安装它: 然后(假设

  • 所以我对了解不多。我有,我使用它连接到MongoDB。我需要做的是--在那个MongoDB中有一个集合。我想从该集合中导出数据,以便将其保存到一个文件中。 我使用该接口将集合中的数据作为文本打开,并执行Ctrl+并将其粘贴到文本文件中。但是,我发现并不是所有的数据都被复制,而且文本数据中有很多注释,这自然会破坏JSON。 任何指示都是感激的!

  • 1)可直接在轻推APP端查看考勤数据,包括查看所管理的所有考勤组的考勤数据,某一个考勤组的考勤数据及某一个成员的考勤数据。 2)系统支持考勤数据导出,点击“导出报表”,可导出相应时间段的考勤数据。例如,需要导出2019年6月考勤数据,在“统计“界面,”月”-“2019-06”-“导出报表”。

  • 对于这样一个简单的问题,我感到很抱歉,但我发现很难相信在使用JavaFX SceneBuilder开发用户界面的同时,我实际上无法查看fxml。 null 即http://www.webhostingplanguide.com/wp-content/uploads/2013/12/coffeecup-html-editor.jpg 如上所述,我希望能够在FXML或所见即所得的前端工作。