Tag: mongodb

我可以从其他docker集装箱种植一个mongodbdocker集装箱吗?

我可以从另一个容器播种正在运行的mongodb容器吗? 我可以用docker-compose来做,但是这意味着每次启动时都会播种,并会在我的数据库中创build重复的数据。 这是我的撰写文件的一部分: version: '5.2' # specify docker-compose version # Define the services/containers to be run services: database: # My database image: mongo # specify image to build container from ports: – "27017:27017" # specify port forewarding Dockerfile我想用来种子 FROM mongo COPY init.json /init.json CMD mongoimport –host=127.0.0.1 –port=27017 –db mean-docker –collection authusers –type json –file /init.json […]

无法通过login/传递login到docker-compose容器中的mongoDB

在我的远端服务器上,我使用了一个docker容器, MONBULDING_PORT="8080" docker-compose up -d –no-deps –build monbulding-mongo 如果我不设置任何用户名/密码进行身份validation,它工作得很好。 这里是相应docker-compose.yaml文件: monbulding-mongo: image: mongo:latest ports: – "27017:27017" 现在,如果我想设置一个用户名/密码来访问MongoDB,我把这个文件改成: monbulding-mongo: image: mongo:latest ports: – "27017:27017" environment: – AUTH=yes – MONGODB_ADMIN_USER=admin – MONGODB_ADMIN_PASS=password – MONGODB_APPLICATION_DATABASE=app – MONGODB_APPLICATION_USER=user – MONGODB_APPLICATION_PASS=password 如果我尝试使用Robo 3Tlogin到MongoDB,它不起作用: 有人知道我做错了什么? 谢谢! 编辑:我也尝试与mongo shell : mongo –host domain.net -u admin -p password 但也有一个错误。

Mongodb在内存不足时终止

我有以下configuration: 运行三个docker容器的主机: MongoDB的 Redis的 一个使用前两个容器来存储数据的程序 Redis和Mongodb都被用来存储大量的数据。 我知道Redis需要保留所有的数据在RAM中,我很好。 不幸的是,Mongo开始占用大量内存,一旦主机内存已满(我们在这里讨论32GB),Mongo或Redis都会崩溃。 我已阅读了以下关于这个问题的以前的问题: 限制MongoDB RAM使用情况 :显然,大多数RAM都被WiredTigercaching使用 MongoDB限制内存 :这里显然问题是日志数据 限制MongoDB中的RAM内存使用量 :在这里,他们build议限制mongo的内存,以便为其caching/日志/数据使用较less的内存 MongoDB使用太多的内存 :这里他们说这是WiredTigercaching系统,它倾向于使用尽可能多的RAM来提供更快的访问。 他们还表示it's completely okay to limit the WiredTiger cache size, since it handles I/O operations pretty efficiently 有没有限制mongodb内存使用的选项? :再次caching,他们还添加了MongoDB uses the LRU (Least Recently Used) cache algorithm to determine which "pages" to release, you will find some more […]

当我尝试为数据库创build一个新用户时,自定义mongo docker会产生一个错误

我正在使用一个mongo泊坞窗图像。 当我尝试为新数据库创build用户和密码时,出现错误。 这是我的Dockerfile: FROM mongo ENV AUTH yes ENV JOURNALING yes ADD run.sh /usr/bin/run.sh ADD set_mongodb_password.sh /usr/bin/set_mongodb_password.sh RUN chmod +x /usr/bin/run.sh && chmod +x /usr/bin/set_mongodb_password.sh EXPOSE 27017 28017 CMD ["/usr/bin/run.sh"] 好吧,现在我的运行脚本: #!/bin/bash cmd="mongod" if [ "$AUTH" == "yes" ]; then cmd="$cmd –auth" fi if [ "$JOURNALING" == "no" ]; then cmd="$cmd –nojournal" fi $cmd & […]

Docker mongo镜像总是将数据保存在/ data / db目录中

我正在为mongo使用docker镜像 。 我改变了我要在mongo.conf文件中保存数据的目录: dbpath=/mnt/sda1/data/db/ 另外我使用docker-compose来创build我的开发环境: mongo: image: mongo ports: – 27017:27017 volumes: – $HOME/Desktop/development/mongo/data/:/mnt/sda1/data/db/ – $HOME/Desktop/mongo/config/mongod.conf:/etc/mongod.conf.orig command: mongod –smallfiles 当我进入我的mongo容器,并检查/ mnt / sda1 / data / db directoy时,它是空的,然后转到/ data / db ,数据在这里。 我不明白为什么数据不在目录里面/ mnt / sda1 / data / db是我定义的,它有mongoconfiguration文件的dbpath 。

当从主机远程安装卷时,Mongodb将不会在Docker容器中启动

在Mac上,我正在从docker上运行mongodb,数据目录是从我的主机上的卷上挂载的,如下所示: docker run -d -p 27017:27017 -v /Users/me/git/world/db:/var/lib/mongodb gzoller/world (/ var / lib / mongodb是mongoconfiguration文件中存储数据的地方。) 我想让我的数据保持在主机上,即使我杀了运行mongodb的容器。 使用这个运行命令tho,mongo不会在容器中启动。 容器中的mongo日志有这个剪辑: Mon Sep 14 18:27:59 [initandlisten] options: { command: [ "run" ], config: "/etc/mongodb.conf", dbpath: "/var/lib/mongodb", journal: "true", logappend: "true", logpath: "/var/log/mongodb/mongodb.log", unixSocketPrefix: "/var/run/mongodb" } Mon Sep 14 18:27:59 [initandlisten] Assertion: 13651:Couldn't fsync directory '/var/lib/mongodb': errno:22 Invalid argument […]

Docker无法通过仅包含数据的容器启动附加卷的MongoDb

我试图在我的Windows计算机上运行一个docker-compose ,启动一个MongoDB实例和一个代理包含数据库文件的卷的数据专用容器。 mongodata: image: mongo:2.6.8 volumes: – ./data/db:/data/db command: –break-mongo mongo: image: mongo:2.6.8 volumes_from: – mongodata ports: – "27017:27017" command: –smallfiles –rest * ps – – break-mongo命令是有目的的,因为它只需要创build卷 据我的理解,使用data-only卷模式将处理权限问题,但在Mongo容器启动期间,我可以看到以下错误: [0m2016-01-26T00:23:52.340+0000 [initandlisten] info preallocateIsFaster couldn't run due to: couldn't open file /data/db/journal/tempLatencyTest for writing errno:1 Operation not permitted; returning false [0m2016-01-26T00:23:52.341+0000 [initandlisten] Unable to remove temporary file […]

如何在撰写文件版本2中使用docker卷容器(挂载主机目录)

在撰写文件版本1中,我的docker-compose.yml是: mongo: image: mongo volumes_from: – mongodata mongodata: image: mongo volumes: – /home/dbdata/mongodb:/data/db 在本地主机“/ home / dbdata / mongodb”,我保存了一些数据。 它可以通过mongo容器读取。 但我不知道如何更新来组成文件版本2 。 我已经更新docker和docker组成最新的。 Docker version 1.10.2, build c3959b1 docker-compose version 1.6.2, build 4d72027 OS: ubuntu 15.10 我尝试了三种方法,但没有工作。 一:撰写文件是: version: '2' services: mongo: image: mongo volumes_from: – mongodata networks: – wfij mongodata: image: mongo volumes: – […]

在docker容器中创build的数据库和集合不能在提交的docker镜像中find

我正在使用和现有的MongoDB图像来创build一个docker集装箱。 然后我在该容器中创build一些数据库和集合。 但是,当我从该容器创build和映像时,mongodb不显示我的数据库和集合。 我想它的东西与数据卷不复制到图像。 有没有解决方法?

清除Docker中的所有条目mongodb?

有一个简单的方法来清除运行在docker中的mongodb数据库吗? 或者可能将其全部删除并重新创build?