Tag: mongodb

在docker镜像中安装mongoimport

从我的节点脚本我需要通过exec从child_process函数执行child_process 。 在Docker镜像中的CItesting中遇到了一个问题: /bin/sh: 1: mongoimport: not found 现在我在drone.yml文件中插入了mongodb的安装: – apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv EA312927 – echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/3.2 main" | tee /etc/apt/sources.list.d/mongodb-org-3.2.list – apt-get update – apt-get install -d -y mongodb-org-tools 但是仍然没有findmongoimport。 我甚至添加了根/到PATHvariables或做了一个 find / -name "mongoimport" 没有。 有没有人有一个想法,如何让mongoimport在docker形象工作? 谢谢。 PS .:以下是apt-get的输出: $ apt-get install -d -y mongodb-org-tools Reading package lists… Building […]

在GitlabCI中使用Docker,MongoDB

在我的Node.js项目中,我使用dotenv包来处理configuration。 我的.env文件是这样的 NODE_ENV = development MONGO_URL = MY_MONGO_URL 所以在我的configuration文件导出我的数据库stringurl: 'use strict'; require('dotenv').config(); module.exports = process.env.MONGO_URL; 后来我想整合Gitlab CI,感到困惑,如何configuration它来创build一个图像,并为我生成DBstringurl的环境variables。 目前我的.gitlab-ci.yml是这样的: image: node:6.11.0 variables: NODE_ENV: test services: mongodb: 3.2.10 before_script: – npm install cache: paths: – node_modules/ all_test: script: – npm test 你能指导我如何configuration和build立这种情况? 谢谢

从mongodb docker-container运行脚本

我有恢复数据库restore.sh脚本: mongorestore –port 27017 –db myapp `pwd`/db-dump/myapp 我想在一个使用mvertes / alpine-mongo镜像的短暂的docker -container中运行它。 要运行一个短暂的容器,使用–rm : docker run –rm –name mongo -p 27017:27017 \ -v /data/db:/data/db \ mvertes/alpine-mongo 但是如何在同一个命令中执行我的脚本呢?

MongoDB Docker Windows开发环境。 linux生产env。 解决scheme

我一直在为此挣扎3天。 我的情况: Windows 10开发机器 Ubuntu Docker生产机器 我有泊坞窗除了这个mongodb乱七八糟的一切工作,它不允许我在Windows上使用标准mongo:最新的基础图像,我不能使用Windows版本,因为我的应用程序使用只有Linux的软件的容器。 我在这里有什么select? 我在这里错过了什么吗? 我不想在我的开发机器上创build一个swarm,对于这个用例来说这似乎是一个严重的过度消耗。 我正在考虑在我的开发机器上安装mongodb,然后将数据库数据文件从C:/ data / db手动复制到生产机器/数据/数据库文件夹中。 这种解决方法是可行的还是有其他方法来实现这一目标?

添加用angular色添加创buildmongodb和用户的语法问题

我已经开始用auth构build我的第一个docker容器。 我有一个Python脚本,从我们的密码安全提取凭据,并使其可用于一个bash脚本,然后设置pipe理数据库和用户。 我使用一个RUN命令的python脚本,这很好。 当我login到容器并运行它时,bash脚本run.sh运行完美。 但是,它应该作为CMD的一部分肯定地运行? Dockerfile摘录: ADD set_mongo_passwords.py / ADD run.sh / RUN chmod +x /run.sh RUN chmod +x /set_mongo_passwords.py RUN python /set_mongo_passwords.py <user> <password> CMD ["/bin/bash","/run.sh"] Bash脚本 #!/bin/sh mongod –auth source mongodb_credentials.txt # Wait for MongoDB to boot RET=1 while [[ RET -ne 0 ]]; do echo "=> Waiting for confirmation of MongoDB service […]

MongoDB身份validation失败,使用mule api连接器

我创build了所有数据库的pipe理员用户,然后我为我的数据库创build了一个DBOwner。 我可以在本地login我的用户。 但是当我用mule API连接器尝试。 我收到错误: 无法连接给定的凭据。 我面临着更多的问题。 如果我尝试用户名密码,我可以连接本地,并通过mule API连接器。 如果我不使用任何用户名密码,我不想连接到数据库。 任何人都可以帮我解决这个问题吗? 我正在使用mongo泊坞窗图像。 这是我使用的命令。 docker run -d -p 37017:27017 -v /home/rancher/data_test:/data/db –name mongodb_test mongo:3.2.0 在此之后,我启用了安全授权:在/etc.mongod.conf.org文件的末尾为true

Docker中的MongoDB容器的db.collection顺序是搞乱的,文档总是插在集合的中间

我有一个localhost mongodb收集行为是适当的。 但是,当我试图在docker集装箱内testing这个mongorestored集合时,我遇到了麻烦。 我的所有文件都会插入到collections中。 示例如下: db.posts.find().pretty() { "_id" : ObjectId("595cc2a803297da443e36a1a"), "name" : "First post", "__v" : 0 } { "_id" : ObjectId("595cc31e03297da443e36a1c"), "name" : "Second post", "__v" : 0 } db.posts.insert({name: "Third post"}) WriteResult({ "nInserted" : 1 }) db.posts.insert({name: "Fourth post}) WriteResult({ "nInserted" : 1 }) db.posts.find().pretty() { "_id" : ObjectId("595cc2a803297da443e36a1a"), "name" : "First post", […]

无法连接到运行在计算引擎上的docker容器上的mongodb

使用docker-compose我启动了两个docker容器,一个是包含mongodb的第二个包含java应用程序的google vm (compute engine) 。 该应用程序很好地连接到数据库,我可以通过URL http://myvm:8080查看结果。 现在,当我想要在本地启动相同的应用程序连接到相同的数据库时,出现连接错误。 我把bind_ip属性设置为0.0.0.0来连接远程服务器,我在日志中看到这个configuration已经被使用了,但是不起作用。 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "0.0.0.0", port: 27017 } } 虚拟机的所有端口和协议都可以访问。 在我尝试在mongodb上连接时发生的错误之下: com.mongodb.MongoTimeoutException: Timed out after 30000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[{address=vm_ip:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused […]

在docker集装箱中,连接到在另一个docker集装箱运行的mongodb auth由pymongo失败

我正在使用同一个泊坞窗图像运行两个名叫A和B的docker集装箱。 运行mongodb repl set服务器的A容器,我可以通过以下命令在容器和物理机器上访问它: mongo 172.17.0.2:27020 -u admin -p admin –authenticationDatabase admin 我也可以通过pymongo在容器和物理机器上使用它: hosts = "172.17.0.2:27018,172.17.0.2:27019,172.17.0.2:27020" extra_args = {"w": 1, "j": True} mongo_client = pymongo.MongoClient(hosts, replicaset="mongo_shard1", **extra_args) mongo_client.get_database("admin").authenticate( "admin", "admin", mechanism='SCRAM-SHA-1') 但是,在B容器上,我只能通过下面的命令访问一个容器的mongodb服务器: mongo 172.17.0.2:27020 -u admin -p admin –authenticationDatabase admin 如果我使用上面的pymongo,我得到下面的错误: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/dist-packages/pymongo/database.py", line […]

运行docker映像时出错

我在执行我创build的图像时遇到了一些问题。 该服务需要连接到mongodb,即使它已经启动,并在localhost:27017上侦听 下面是错误: INFO 5 — [localhost:27017] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server localhost:27017 [main] org.mongodb.driver.cluster : No server chosen by WritableServerSelector from cluster description ClusterDescription{type=UNKNOWN, connectionMode=MULTIPLE, all=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketOpenException: Exception opening socket}, caused by {java.net.ConnectException: Connection refused (Connection refused)}}]}. Waiting for 30000 ms before timing out