本文假设你们已经安装好了docker并能正常使用,因此不讲解如何安装docker了。用docker安装MongoDB最新版本以下:javascript
# 从repository查找mongo的相关镜像,结果不少,其中第一条为官方的镜像 $ docker search mongo # 下载官方镜像的最新版本 $ docker pull mongo:latest # 完成后,检查是否下载成功 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos 7 5e35e350aded 12 days ago 203MB mongo latest 965553e202a4 3 weeks ago 363MB hello-world latest fce289e99eb9 10 months ago 1.84kB
仅须要简单几个命令,咱们就拥有了MongoDB的最新镜像了,后续就可使用了。java
完成MongoDB的镜像下载后,启动就很是简单了,一个命令便可:linux
$ docker run -itd --name mongo -p 27017:27017 mongo --auth 305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c
(1)--name
后面的参数为docker容器名;git
(2)-p
后面是端口映射,即宿主端口:容器端口
;github
(3)--auth
是否开始鉴权,若是不想开启能够去掉;docker
成功启动MongoDB一个实例后,会返回容器ID,如305ebd8236678905d16dd76e75dcf99fdd812be6b13c240acece7985d29b316c
。shell
经过命令docker ps
能够查看正在运行的容器,通过检查,确实已经起来了。数据库
注意:默认数据是存在容器系统的/data/db
目录下的,若是须要使用自定义的宿主机器目录,能够在启动命令加上参数:centos
-v /my/own/datadir:/data/db
bash
## 3.1 进入容器
容器起来后,下一步是进入容器:
# 进入容器能够用如下两种方法 # 分别是经过容器名和容器ID $ docker exec -it mongo bash $ docker exec -it 305ebd823667 bash
上面进入容器后,实际上是进入了容器的系统,并打开bash
。
接着经过mongo
命令链接到MongoDB的数据库服务。
# 默认链接本地的27017端口的MongoDB $ mongo # 指定IP与端口进行链接 $ mongo 127.0.0.1:27017 # 指定用户名和密码链接到指定的MongoDB数据库 $ mongo 127.0.0.1:27017/admin -u user -p password
链接数据库成功后,会返回一些信息,如SeesionID和版本号等。
(1)在linux命令经过mongo --version
查询;
(2)链接上数据库后,经过db.version()
查询。
root@305ebd823667:/# mongo --version MongoDB shell version v4.2.1 git version: edf6d45851c0b9ee15548f0f847df141764a317e OpenSSL version: OpenSSL 1.1.1 11 Sep 2018 root@305ebd823667:/# mongo > db.version() 4.2.1
连上数据库后,咱们先建立一个admin用户,用以管理其它用户:
> use admin switched to db admin > db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'}]}); Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] } >
根据业务需求,建立不用的用户,以下面建立拥有读写权限的用户user:
> db.auth('admin','123456'); 1 > db.createUser({ user:'user',pwd:'123456',roles:[ { role:'readWrite', db: 'testdb'}]}); Successfully added user: { "user" : "user", "roles" : [ { "role" : "readWrite", "db" : "testdb" } ] } >
> db.auth('user','123456') 1 > use testdb switched to db testdb > > db.person.insert({name:'Larry',age:18}) WriteResult({ "nInserted" : 1 }) > db.person.find({}) { "_id" : ObjectId("5ddaa14edbbac3c4f844366c"), "name" : "Larry", "age" : 18 } >
经过前面的操做,咱们已经创建了用户,并尝试建立了数据库和集合。但经过命令行来操做老是不那么方便,咱们须要可视化软件来进行操做。下面将介绍两款优秀的可视化软件,展现如何链接。如何进行CRUD等操做就不一一介绍了,仍是比较友好的,容易使用。
建立链接:
注意下面填的是鉴权数据库,而不是用户的数据库:
操做界面:
这个是支持JetBrains全系列软件的插件,IDEA固然也能够安装。
链接设置:
注意下面的User Database是该用户下的数据库,写错了会连不上。
注意下面Auth Database为鉴权的数据库,默认为admin。
操做界面:
本文介绍了经过Docker安装最新版的MongoDB,并经过例子演示了如何运行和建立用户与集合,最后还介绍了两款很是友好的可视化工具,但愿能带没有接触过的人入个门吧。
欢迎关注公众号<南瓜慢说>,将持续为你更新...
多读书,多分享;多写做,多整理。