摘要:本文将介绍如何在中使用。如果你是一名的初学者,那么你入门的第一件事就是安装,但是安装又不是一件简单的事情,还需要自己配置一些服务。这时候,就能帮上大忙,它能够让你不需要本地安装就能使用。下面让我们来看看这是怎么实现的。
本文将介绍如何在docker中使用MongoDB。
如果你是一名MongoDB的初学者,那么你入门MongoDB的第一件事就是安装MongoDB,但是安装MongoDB又不是一件简单的事情,还需要自己配置一些服务。这时候,docker就能帮上大忙,它能够让你不需要本地安装MongoDB就能使用MongoDB。下面让我们来看看这是怎么实现的。
首先你的电脑上需要安装docker,然后在docker的镜像中查询MongoDB的镜像,命令如下:
docker search mongodb
输出的结果如下:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED mongo MongoDB document databases provide high avai… 5606 [OK] mongo-express Web-based MongoDB admin interface, written w… 386 [OK] tutum/mongodb MongoDB Docker image – listens in port 27017… 224 [OK] bitnami/mongodb Bitnami MongoDB Docker Image 83 [OK] percona/percona-server-mongodb Percona Server for MongoDB docker images 23 frodenas/mongodb A Docker Image for MongoDB 17 [OK] centos/mongodb-32-centos7 MongoDB NoSQL database server 5 centos/mongodb-26-centos7 MongoDB NoSQL database server 5 eses/mongodb_exporter mongodb exporter for prometheus 4 [OK] centos/mongodb-36-centos7 MongoDB NoSQL database server 4 quadstingray/mongodb MongoDB with Memory and User Settings 3 [OK] bigtruedata/php-mongodb PHP image with MongoDB support 2 [OK] neowaylabs/mongodb-mms-agent This Docker image with MongoDB Monitoring Ag… 2 [OK] tozd/mongodb Base image for MongoDB server. 2 [OK] nuxeoapbcatalog/nuxeo-mongodb-apb MongoDB deployment for Nuxeo 1 [OK] openshift/mongodb-24-centos7 DEPRECATED: A Centos7 based MongoDB v2.4 ima… 1 centos/mongodb-34-centos7 MongoDB NoSQL database server 1 webhippie/mongodb Docker images for mongodb 1 [OK] perconalab/percona-server-mongodb-operator MOVED TO https://hub.docker.com/r/perconalab… 1 phenompeople/mongodb MongoDB is an open-source, document databas… 0 [OK] gebele/mongodb mongodb 0 [OK] mongodbsap/mongodbdocker 0 targetprocess/mongodb_exporter MongoDB exporter for prometheus 0 [OK] ansibleplaybookbundle/mongodb-apb An APB to deploy MongoDB. 0 [OK] xogroup/mongodb_backup_gdrive Docker image to create a MongoDB database ba… 0 [OK]
我们在这些镜像中选择使用第一个镜像,即mongo, 拉取mongo镜像,命令如下:
docker pull mongo
查看该镜像的信息:
docker images mongo
输出的结果如下:
REPOSITORY TAG IMAGE ID CREATED SIZE mongo latest 0da05d84b1fe 2 weeks ago 394MB
现在,在docker中已经存在MongoDB的镜像mongo,接下来我们将使用这个镜像。输入命令:
docker run -p 27000:27017 -v $PWD/db:/data/db -d mongo:latest
其中, -p 参数为端口映射,格式为:主机(宿主)端口:容器端口,-v参数为数据卷挂载,将主机的目录$PWD/db 映射到容器的 /data/db,这是为了存储MongoDB操作时的数据,-d参数表示后台运行。
接着输入以下命令查询正在运行的docker容器:
docker ps
输出如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9664a5056e78 mongo:latest "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 0.0.0.0:27017->27017/tcp nervous_heyrovsky
接着运行以下命令,即可使用docker中的虚拟机,该虚拟机已帮你安装好MongoDB,可以直接使用:
docker exec -it 9664a5056e78 bash
在虚拟机中输入mongo ,界面如下:
以下将展示一些MongoDB的基础操作,具体的入门教程可以参考:https://blog.csdn.net/jclian9... 。
显示数据库:
> show dbs admin 0.000GB config 0.000GB local 0.000GB
创建新数据库及集合:
> use school switched to db school > db.createCollection("teacher") { "ok" : 1 } > show dbs admin 0.000GB config 0.000GB local 0.000GB school 0.000GB
往集合中插入新文档:
> db.teacher.insert({id:1,name:"zhangshan",age:38}) WriteResult({ "nInserted" : 1 }) > db.teacher.insert({id:2,name:"lisi",age:47}) WriteResult({ "nInserted" : 1 }) > db.teacher.insert({id:3,name:"wangwu",age:26}) WriteResult({ "nInserted" : 1 })
查询文档:
> db.teacher.count() 3 > db.teacher.find() { "_id" : ObjectId("5c6d12d880b47c18564d99a7"), "id" : 1, "name" : "zhangshan", "age" : 38 } { "_id" : ObjectId("5c6d12df80b47c18564d99a8"), "id" : 2, "name" : "lisi", "age" : 47 } { "_id" : ObjectId("5c6d12e580b47c18564d99a9"), "id" : 3, "name" : "wangwu", "age" : 26 } > db.teacher.find({name: "lisi"}) { "_id" : ObjectId("5c6d12df80b47c18564d99a8"), "id" : 2, "name" : "lisi", "age" : 47 }
此时,在MongoDB的可视化软件Robo 3T中,依然能够看到我们插入的数据,只是连接的端口改为27000,如下图:
本次介绍完毕,感谢大家阅读~
注意:本人现已开通微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 欢迎大家关注哦~~
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/27677.html
摘要:下面给出了其中几个子命令。将指定名称的容器拉取到系统中。列出正在运行的容器。起初只是之上的一个软件层但现在已经演化成为一个独立的系统。服务器的主要配置文件位于和参考从构建镜像命令的用法 检查安装情况 centos7下 // 删除旧版本和相关依赖 yum remove docker docker-client d...
摘要:容器访问以为例,在原始的文件中,如下上面的配置,本地主机是无法访问容器的,我们至少需要暴露出一个端口。查看,的默认端口其实是,而这里写成也是有原因的。 任何事情的成功都需要掐准时间 上一节mongo EOF中,关于容器的配置,只是粗略的使用了Docker-Compose-MongoDB-Replica-Set项目提供好的docker-compose.yml文件。在使用过程中,我发现这个...
摘要:今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 面试必备 面试必备:深入Spring MVC DispatchServlet 源码...
摘要:今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 今天整理了一下近大半年以来的一些文章,和我的预期一样,很多文章我都忘记自己曾经写过了,这个记录的过程让我也有了新的理解。希望大家,收藏,点赞,加转发。 面试必备 面试必备:深入Spring MVC DispatchServlet 源码...
摘要:本文旨在通过将一个具体的项目进行化处理,从而对的基本用法进行一次实践。该项目化后,后端服务访问数据库正常,仍然可以打开后端服务托管的单页应用,总之项目运行状态符合预期。 本文旨在通过将一个具体的 Spring Boot + MongoDB 项目进行 Docker 化处理,从而对 Docker 的基本用法进行一次实践。该项目 Docker 化后,后端服务访问数据库正常,仍然可以打开后端服...
阅读 674·2021-09-30 09:47
阅读 2867·2021-09-04 16:40
阅读 851·2019-08-30 13:18
阅读 3446·2019-08-29 16:22
阅读 1550·2019-08-29 12:36
阅读 583·2019-08-29 11:11
阅读 1473·2019-08-26 13:47
阅读 1126·2019-08-26 13:32