Tag: mongodb

在Docker中连接到容器的localhost接口

是否有可能连接到在Docker容器中运行的进程,但是完全通过容器的回送接口? 基本上我正在寻找这个选项: docker run … -p 12345:127.0.0.1:12345 … 这被Docker拒绝了。 用例是通过Localhost Exception来设置Mongopipe理员用户

Mongo DB:消息超出了允许的最大消息大小

¡嗨! 我刚开发的RoR应用程序与MongoDB一起工作,并正常工作。 我尝试了几个HTTP请求到邮递员的应用程序,也工作得很好! 当我使用Docker部署应用程序时,出现了任何请求之后出现的MongoDB错误: MONGODB | 消息超出了允许的最大消息大小 最大值是50331648. ms_notifications_1 | 2017-09-29 21:16:48 +0000:HTTPparsing错误,格式错误request():#Puma :: HttpParserError:HTTP格式无效,parsing失败。 我会很感激如果有人有这个错误的解决scheme。 谢谢! 我的撰写文件: version: '2' services: ms_notifications_db: image: mongo:latest container_name: "rancher-node1" ` environment: – MONGO_DATA_DIR=/data/db – MONGO_LOG_DIR=/dev/null volumes: – ./data/db:/data/db ports: – "27017:27017" command: mongod –smallfiles ` ms_notifications: build: . command: bash -c " rm -f tmp/pids/server.pid && bundle exec […]

在kubernetes中绑定应用程序窗格和数据库窗格

我们正在尝试与mondodba一起实现两个豆荚与另一个Java应用程序。 而Java应用程序需要与mongodb绑定。 我们如何绑定分贝和应用程序,当他们在两个不同的豆荚和不同的子网上运行。

以非root用户身份启动Mongodb容器

我正在使用mongo:3.2的官方mongodb docker。 在entrypoint.sh我重新启动与复制模式的Mongodb。 Mongodb进程由root用户拥有。 有没有什么办法可以通过非root用户启动容器,并能够在副本集模式下重启mongodb。 现在我收到以下错误。 在initAndListen:98中存储[initandlisten]exception无法创build/打开locking文件:/data/db/mongod.lock errno:13权限被拒绝是否mongod实例已经在运行?终止 我的docker文件是 FROM mongo:3.2 COPY entrypoint.sh /root/entrypoint.sh ENTRYPOINT ["/root/entrypoint.sh"] here 谢谢,

在swarm容器和主机之间进行通信

这是一个关于Docker的初学者问题。 我在一台主机上运行一个基本的群体作为testing环境。 有11个不同的容器在运行,都通过主机进行通信(现在我正在input这个文字的机器)。 只有1个物理机器,11个容器。 在我的物理机器的本地主机上运行一个MongoDB服务器。 我希望能够在我的群集中的容器内与这个MongoDB服务器进行通信。 我需要configuration什么才能使这个工作? 关于Docker的联网有很多信息。 我通常使用: docker run –net="host" –rm -ti <name_of_image> 一切正常。 但是,只要我运行一个群(而不是一个容器),我似乎无法弄清楚如何将所有东西连接在一起,所以我可以和我的MongoDB服务器通信。 我意识到这可能是一个非常基本的问题。 我也很欣赏,我可能需要阅读更多的群networking文档来了解这一点,但我不知道要看哪些文档。 似乎有多种不同的方式来将我的容器和物理机器联网在一起。 任何信息都将非常感谢,即使它只是一些你认为会有启发性的文档的链接。 干杯。

如何从本地导入数据文件,并使用数据使用mongodb构build图像

现在我通过Dockerfile用usersInfo.js数据文件构build一个图像(userdb): FROM mongo COPY usersInfo.js /data/db COPY script.sh . RUN chmod +x script.sh CMD [ "./script.sh"] 和script.sh文件为: $ mongoimport –host 127.0.0.1 –db users –collection usersInfo –drop –file /data/db/usersInfo.js 当我运行容器为: docker运行 – 名称testing – 用户数据库 它给了我警告: 2017-11-10T23:14:39.781 + 0000 [……………………] users.usersInfo 0B / 10.9KB(0.0%) 2017-11-10T23:14:40.286 + 0000 [……………………] users.usersInfo 0B / 10.9KB(0.0%) 2017-11-10T23:14:40.286 + 0000失败:连接到数据库服务器时发生错误:无法访问服务器 而我在本地计算机上运行服务器,它仍然无法正常工作。 […]

设置多个Docker容器和MongoDB以在CircleCI中运行

我正在尝试为一组Rails服务应用程序设置一个连续的集成stream程,这些应用程序通过端点相互通信。 我们的想法是configurationCircleCI,以便在testingstream程被触发时,它将为每个应用程序下拉预configuration的Docker镜像,为每个应用程序启动Docker容器,然后运行一个testing套件来testing全stream程集成从一个应用程序通过其他。 其中一个服务应用程序使用MongoDB,所以它还需要与CircleCI自动安装的mongodb进行通信。 stream程应该是: client_app -> service_app -> mongodb但是,我有问题获取容器连接。 client_app的Dockerfile会安装Ruby和所有的依赖项,将这个repo添加到图像中,然后运行: RUN bundle install EXPOSE 3000 CMD ["bundle", "exec", "rails", "s", "-e", "development", "-p", "3000"] 然后,service_app的Dockerfile也一样 RUN bundle install EXPOSE 8080 CMD ["bundle", "exec", "rails", "s", "-e", "test", "-p", "8080"] 这两个Dockerfiles都存储在我们的私人Docker仓库中。 我已经在本地构build并拉出了这些Docker镜像,并确认它们正确启动。 在CircleCI上触发stream程时,我使用circle.yml来下拉每个图像。 这是我的circle.yml(应用程序名称已更改): machine: services: – docker dependencies: pre: – sed "s/<EMAIL>/$DOCKER_EMAIL/;s/<AUTH>/$DOCKER_AUTH/" < .dockercfg.template > […]

将数据容器卷映射到卷

我正在使用(不是官方的,如Usman所提到的)mongodb镜像( https://registry.hub.docker.com/u/dockerfile/mongodb/ ),它在“/ data / db” 创buildmongdb容器: docker build -t="dockerfile/mongodb" github.com/dockerfile/mongodb 运行数据容器: docker run -v /data/db –name databox ubuntu:latest true 使用数据容器运行mongdb容器(将mongo数据写入数据容器) docker run -d -p 27017:27017 –volumes-from databox –name mongodb_shared_persistence dockerfile/mongodb 我testing了它: docker run –volumes-from=databox busybox ls /data/db … db文件被创build。 到现在为止还挺好。 但是,如果数据容器在/ mongodb / data处有一个卷,并且我想将它映射到mongodb容器的/ data / db卷,该怎么办? …喜欢这个: docker run -d -p 27017:27017 -v […]

为桌面环境分配Docker容器应用程序

我为驻留在docker集装箱中的最终用户开发了一个基于Web的应用程序。 容器本身承载了几个python依赖项,一些公共仓库和一个基于容器的web前端,后者在容器初始化时启动。 下载容器并在docker主机上运行它相当简单。 但是,大多数docker主机(如果不是全部的话)不是免费的。 因此,如果最终用户希望将我的应用程序从云中使用,那么他们将不得不在本地计算机上下载并安装docker和相关的依赖项,然后才能使用该映像(在Windows系统上这更复杂, Mac OSX) 这就是说,我的问题是:是否有任何工具可以帮助缓解最终用户对本地桌面环境的部署需求? 我知道安装和使用docker并不困难,但是有些人仍然非常害怕命令行,我希望find一种方法来减轻这些“可怕”的要求。

Mongodb,Boot2Docker和副本集连接

我有一个docker容器,充当副本集的单个成员。 我能够成功启动其中三个,并在其中运行一些shell脚本,以便将它们作为副本集连接在一起。 我发现我可以从我的主机单独连接到每个成员,但是当我尝试连接到副本集(在我的情况下,通过spring-data-mongodb)列出每个成员在boot2docker IP和相应的端口,我发现应用程序交换每个容器IP的boot2docker IP,并试图直接在该IP连接。 我假设发生这种情况是因为初始连接string只是一个种子列表,然后通过与成员自己的通信提供实际的configuration。 这当然是一个问题,因为这些IP在主机(应用程序运行的地方)上不存在,只存在于boot2docker虚拟机中。 我怎样才能让成员报告boot2docker IP而不是他们个人不可达的IP? 我碰到类似elasticsearch的东西,并能通过设置network.publish_hostvariables来修复它。 有没有类似MongoDB的设置? 我想也许bind_ip是正确的,但一直无法做到这一点,我用错了吗? 我一直把它设置为boot2docker IP,并在启动时收到绑定错误。 此外,我可以确认这只是一个与boot2docker扔进混合的问题,因为我的朋友运行的Ubuntu和本地docker能够连接就好了。 这是我看到的错误,当试图将我的bind_ip设置为boot2docker虚拟机: Starting mongod process using command: /usr/bin/mongod –storageEngine wiredTiger –auth –dbpath /data/db/ –replSet rs0 –bind_ip 127.0.0.1,192.168.59.103 –keyFile /mongodb-keyfile 2015-04-19T16:34:41.123+0000 E NETWORK [initandlisten] listen(): bind() failed errno:99 Cannot assign requested address for socket: 192.168.59.103:27017 这是我的连接string在我的springxml: <mongo:mongo id="mongo" replica-set="192.168.59.103:27017,192.168.59.103:27018,192.168.59.103:27019"/> 这里是我的应用程序看到的错误(如果我刚开始的东西,而不尝试改变bind_ip等) Client view […]