登录  | 加入社区

黑狼游客您好!登录后享受更多精彩

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

查看: 707|回复: 0

Docker入门(二)在docker利用MongoDB

[复制链接]

161

主题

161

帖子

0

现金

黑狼菜鸟

Rank: 1

积分
0
发表于 2019-2-21 02:25:19 来自手机 | 显示全部楼层 |阅读模式 来自 江苏徐州
  本文将先容如安在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 ,界面如下:
bq5egg5j6S1aJ9DB.jpg   以下将展示一些MongoDB的底子操纵,详细的入门教程可以参考:Mongo入门教程 
  表现数据库:

> 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,如下图:
HGg00a1QAS0Z0z3g.jpg 27000端口  本次先容完毕,感谢各人阅读~
留意:本人现已开通微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 接待各人关注哦~~




上一篇:对不起,我不会Git
下一篇:CentOSLinux7(1611)正式发布喽!赶紧来试用!
您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

 

QQ|申请友链|小黑屋|手机版|Hlshell Inc. ( 豫ICP备16002110号-5 )

GMT+8, 2024-5-3 06:31 , Processed in 0.090356 second(s), 47 queries .

HLShell有权修改版权声明内容,如有任何爭議,HLShell將保留最終決定權!

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表