Tag: mongodb

连接从节点缓慢到mongodb

我正在试验docker,并反映从nodejs(4.2.3)容器到mongodb(3.2)容器的非常缓慢的连接。 我的设置很基本,就是这个(docker-compose): version: '2' services: web: build: ./app volumes: – "./app:/src/app" ports: – "80:3000" links: – "db_cache:redis" – "db:mongodb" command: nodemon -L app/bin/www db_cache: image: redis db: image: mongo 我是这样的OSX 10.10和docker版本是1.10.2。 奇怪的是连接数据库的时间总是30秒。 有没有自动延迟? 编辑: 如果我设置mongodb容器的IP地址intead一个“dns”( mongodb ),延迟消失! 有任何想法吗?

如何运行官方mongodbdocker存储数据分离主机系统驱动器?

我想运行官方的mongodb docker,同时将数据存储到一个单独的主机系统驱动器上,在redhat linux上将XFS文件系统挂载为/data 。 我想通过 docker run –name mongodb -p 27017:27017 -v /data:/data/db -d mongo –master –storageEngine wiredTiger 我的理解是,这应该创build一个新的卷,将主机系统的/data作为/data/db挂载到docker容器中,从而将对/data/db的所有访问redirect到主机/data 。 进行docker inspect –type=container ce03…73显示 "Mounts": [ { Source: "/data", Destination: "/data/db", Mode: "", RW: true }, … 但是,在执行df显示/dev/xvda1挂载为/是唯一的fs增长,而挂载为/data /dev/xvdb保留为空。 du /data和ls -a /data都certificate了这一点。 现在,如果我做sudo du -L / | grep -E "^[0-9]{6,20}" sudo du -L / […]

mongo addShard“找不到通用协议”errmsg 126

我试图学习一些MongoDB,并希望安装一个两个分片的数据库,用于在这两个“节点”之间分配数据,并利用其效率和健壮性。 我也在Docker上工作。 所以在docker工人中,我创build了4个虚拟机与他们各自的IP: mongo1(172.17.0.6):第一个分贝用作分片 mongo2(172.17.0.5):作为分片使用的第二个分贝 mongocfg(172.17.0.4):整个系统的configuration映像 mongorouter(172.17.0.3):访问其他两个碎片的路由器; 整个分贝 如果你不熟悉docker,可以把它想象成一个VirtualBoxpipe理器,它帮助在相同的环境和操作系统下运行多个虚拟镜像。 举个例子,只要想想那里的每个IP都只有不同的电脑。 问题是,添加一个新的碎片,我读过,我需要连接到mongorouter,然后通过他们的IP和端口添加这两个碎片。 在$ docker exec -it mongorouter mongo ,我执行$ docker exec -it mongorouter mongo ,出现mongo console mongos> 在那里我键入并得到确切的: mongos> sh.addShard("172.17.0.6:27017") { "ok" : 0, "errmsg" : "No common protocol found.", "code" : 126 } 而我试图看看这是什么意思,没有任何线索。 这不只是简单的谷歌search,我认为我自己。 当然碎片不会在这之后join。 在绝望的情况下,我尝试了所有的IP地址,即使所有的IP地址都是172.17.0.2 。 我可以使用一些build议,只要有正确的文档,如在哪里可以find错误代码126或什么协议errmsg引用或任何东西。 提前致谢。 编辑。 我没有find解决办法。 问题是因为我正在使用不正确的Dockerfile来构build虚拟机。 如果有人感兴趣,不同的是,错误的Docker文件有一个FROM ubuntu:latest和正确的FROM […]

为什么没有docker提交保存在我的mongo数据库容器中的数据?

我有一个docker-compose文件,它将一个种子脚本与来自docker的公共registry的mongo图像链接起来。 我可以填充数据库: docker-compose up docker-compose run seed_script 我可以使用我的主机系统中的mongo cli连接到这个mongo容器,并确认种子脚本正在工作,并且数据库中有数据。 当我完成播种,我可以看到docker ps的mongo容器ID。 我通过在docker-composeterminal中按Ctrl c来停止容器,并将更改提交到mongo容器: docker commit <mongo container ID> mongo-seeded-data 但是,当我单独运行该容器时,它是空的: docker run -p 27017:27017 mongo-seeded-data mongo > show dbs local 0.000GB 如果我再次调用docker-compose容器并使用我的主机mongo客户端,我可以看到数据: docker-compose up mongo > show dbs seeded_db 0.018GB local 0.000GB 我将容器中的数据提交给它。 为什么我没有提出这个容器? 什么是docker-compose执行器与docker run不同?

使用Docker和MongoDB

我一直在使用Docker和Kubernetes,并且已经build立了一些数据库(postgres和mysql)和服务。 现在我正在考虑添加一个mongoDB,但在用户pipe理方面似乎有所不同。 以postgres为例: https : //hub.docker.com/_/postgres/ 立即我可以在安装程序上用密码声明用户,然后使用此连接。 看来这个mongo图片不支持这个。 有没有办法简单地声明用户启动并使用他们类似于postgres设置? 这是,不必执行到图像,修改身份validation设置,并重新启动mongo服务。

Docker mongodb + node js。 如何build立工作形象?

我怎样才能build立这个形象? 在运行图像我得到 npm info it worked if it ends with ok npm info using npm@2.15.5 npm info using node@v4.4.5 npm info prestart koaapp@1.0.0 npm info start koaapp@1.0.0 > koaapp@1.0.0 start /home/pwrchrd/Projects/KOAapp/test > node server.js connection error: { [MongoError: getaddrinfo ENOTFOUND db_1 db_1:27017] name: 'MongoError', message: 'getaddrinfo ENOTFOUND db_1 db_1:27017' }

MeteorD中的MongoDB URL

我正在尝试使用Docker进行meteor应用。 我正在关注这个Git Hub说明我已经成功地构build了我的Docker镜像(我想) $ docker build -t thismustbedocker / meteorappgit。 发送构build上下文到Docker守护进程125.9 MB步骤1:从meteorhacks / meteord:onbuild 执行2个构build触发器…步骤1:COPY ./ / app步骤1:运行bash $ METEORD_DIR / on_build.sh —>在eb6f7a698dbf中运行 下载meteor分布 meteor1.3.2.4已经安装在您的主目录(〜/ .meteor)。 写一个启动脚本到/ usr / local / bin / meteor为了您的方便。 快速入门: $ meteor create〜/ my_cool_app $ cd〜/ my_cool_app $ meteor 或者在以下url查看文档: docs.meteor.com npm WARN弃用此版本的npm缺乏对重要function的支持,npm WARN不推荐使用,例如,由主npm npm WARN弃用registry提供的作用域包。 考虑升级至lessnpm @ 2,否则npm WARN弃用最新的稳定版本。 […]

在Docker容器中备份Mongo

我已经通过Docker Cloud在Docker容器中部署了一个Mongo镜像。 它被链接到一个meteor应用程序。 有什么办法来备份容器上的数据?

如何将主机目录挂载为mongodb容器的容器卷?

我想为Docker容器创builddocker-composeconfiguration,如下所示: 1)我已经在Azure中安装了Ubuntu14.04。 我已经在主机操作系统,即Ubuntu 14.04中安装了mongodbversion 3.2。 2)现在,我将创build6个容器(nginx,web-app,redis,mongodb,worker,使用来自mongodb容器的图像的数据容器),解释为: i) Data-container that mounts the directory where monogdb3.2 installed in host Ubuntu writes data (what is the absolute full path for directory where mongodb stores or writes data ?) ii) A mongodb-container that serves as db-backend for web-app container. This mongodb-container should use volume mounted in data-container. iii) mongodb-container […]

如何mongorestore数据库与docker

我得到了docker-compose.yml: version: '2' services: web: build: . ports: – "3000:3000" volumes: – .:/code depends_on: – db1 links: – db1:mongo db1: image: mongo Dockerfile: FROM node:4.4.2 ADD . /code WORKDIR /code RUN npm i CMD node app.js 我将转储存储在项目文件中,以便与容器共享文件夹。 应该如何看起来像恢复转储的过程? 在Web容器中,我无法访问mongoresore commnad …