docker 安装mongodb和初步使用

xiaoxiao2021-09-17  138

安装步骤和一些命令行操作 默认安装  版本装的4.0.3 

[root@VM_0_8_centos ~]# docker pull  mongo   Using default tag: latest latest: Pulling from library/mongo 3b37166ec614: Pull complete  504facff238f: Pull complete  ebbcacd28e10: Pull complete  c7fb3351ecad: Pull complete  2e3debadcbf7: Pull complete  004c7a04feb1: Pull complete  897284d7f640: Pull complete  af4d2dae1422: Pull complete  5e988d91970a: Pull complete  aebe46e3fb07: Pull complete  6e52ad506433: Pull complete  47d2bdbad490: Pull complete  0b15ac2388a7: Pull complete  7b8821d8bba9: Pull complete  Digest: sha256:4ad50a4f3834a4abc47180eb0c5393f09971a935ac3949920545668dd4253396 Status: Downloaded newer image for mongo:latest [root@VM_0_8_centos ~]# mongo -version -bash: mongo: command not found [root@VM_0_8_centos ~]# docker run  --name some-mongo   -p 27017:27017   -d mongo   --auth  //运行 c4b8386fe05a87feada72bde4ee6441f50ed2810594c677d1808fcb2add7c47b [root@VM_0_8_centos ~]# docker ps CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                      NAMESc4b8386fe05a        mongo               "docker-entrypoint.s…"   6 seconds ago       Up 5 seconds        0.0.0.0:27017->27017/tcp   some-mongo [root@VM_0_8_centos ~]# docker    exec  -it c4b8386fe05a   /bin/bash         //c4b8386fe05a 是前面镜像的容器id  root@c4b8386fe05a:/# mongo    //进入命令行 MongoDB shell version v4.0.3 connecting to: mongodb://127.0.0.1:27017 Implicit session: session { "id" : UUID("b09a229e-5b88-4004-980b-a9b352135870") } MongoDB server version: 4.0.3 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see     http://docs.mongodb.org/ Questions? Try the support group     http://groups.google.com/group/mongodb-user > use admin   //admin是个默认的数据库 switched to db admin > db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})   Successfully added user: {     "user" : "root",     "roles" : [         {             "role" : "root",             "db" : "admin"         }     ] } > exit bye root@c4b8386fe05a:/# mongo  127.0.0.1/admin  -utest -p   //-u前面对应账号root 这里故意写错看看能否登陆 MongoDB shell version v4.0.3 Enter password:  connecting to: mongodb://127.0.0.1:27017/admin Implicit session: session { "id" : UUID("fe22489a-00f0-4f9b-b22f-4c0429650bfd") } MongoDB server version: 4.0.3 2018-10-10T09:27:58.092+0000 E QUERY    [js] Error: Authentication failed. : DB.prototype._authOrThrow@src/mongo/shell/db.js:1685:20 @(auth):6:1 @(auth):1:2 exception: login failed root@c4b8386fe05a:/# mongo  127.0.0.1/admin  -uroot -p   //还是写对才能登陆 MongoDB shell version v4.0.3 Enter password:  connecting to: mongodb://127.0.0.1:27017/admin Implicit session: session { "id" : UUID("2c285f96-5025-4057-9b2f-94d5510a572e") } MongoDB server version: 4.0.3 Server has startup warnings:  2018-10-10T09:18:40.312+0000 I STORAGE  [initandlisten]  2018-10-10T09:18:40.312+0000 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine 2018-10-10T09:18:40.312+0000 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem 2018-10-10T09:18:41.107+0000 I CONTROL  [initandlisten]  2018-10-10T09:18:41.107+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2018-10-10T09:18:41.107+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never' 2018-10-10T09:18:41.108+0000 I CONTROL  [initandlisten]  2018-10-10T09:18:41.108+0000 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2018-10-10T09:18:41.108+0000 I CONTROL  [initandlisten] **        We suggest setting it to 'never' 2018-10-10T09:18:41.108+0000 I CONTROL  [initandlisten]  --- Enable MongoDB's free cloud-based monitoring service, which will then receive and display metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you and anyone you share the URL with. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring() To permanently disable this reminder, run the following command: db.disableFreeMonitoring() ---

> set name hello   //和redis不同 不能这么写 set name to hello > get name     //和redis不同 不能这么写 2018-10-10T09:28:50.080+0000 E QUERY    [js] SyntaxError: missing ; before statement @(shell):1:4 > get 2018-10-10T09:29:01.011+0000 E QUERY    [js] ReferenceError: get is not defined : @(shell):1:1 > mongo 2018-10-10T09:29:47.116+0000 E QUERY    [js] ReferenceError: mongo is not defined : @(shell):1:1 > show dbs   //查看当前数据库 admin   0.000GB config  0.000GB local   0.000GB > show collections > show dbs admin   0.000GB config  0.000GB local   0.000GB > use test   //创建一个test库 但是要插入数据才能生效 switched to db test > show dbs admin   0.000GB config  0.000GB local   0.000GB > db.hello.insert({"name":"testdb"})   //插入数据才能生效 hello 是个collection 属于新建 WriteResult({ "nInserted" : 1 }) >  > show dbs admin   0.000GB config  0.000GB local   0.000GBtest    0.000GB > db test > show collectionshello > db.h db.hasOwnProperty  db.hello           db.help(           db.hostInfo( > db.hello.find()                   //查询 { "_id" : ObjectId("5bbdc71dbf9746c968669b43"), "name" : "testdb" }  

参考: 

docker中安装mongo

https://blog.csdn.net/meibo69631310/article/details/79709500

docker pull  mongo 

 

docker run  --name some-mongo   -p 27017:27017   -d mongo   --auth     //这里的--name 放在前面并映射端口

 

docker    exec  -it  容器ID   /bin/bash     //进入容器

 

mongo  

 

use admin

 

db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})   //创建用户,此用户创建成功,则后续操作都需要用户认证

 

exit  

 

 

测试:

 

mongo  宿主机ip/admin  -utest -p

 

查看连接是否成功  

 

 

默认mongodb是不使用用户认证。

 

show dbs

如果出现not authorized on admin to execute command { listDatabases: 1.0, $db: \"admin\" }错误,那就进行用户认证

use admin

db.auth("root","root")

返回 1 认证成功。

MongoDB 基础命令行

https://www.cnblogs.com/wywnet/p/5102946.html

转载请注明原文地址: https://www.6miu.com/read-4823615.html

最新回复(0)