千家信息网

Docker 中MongoDB如何使用使用

发表于:2024-11-19 作者:千家信息网编辑
千家信息网最后更新 2024年11月19日,本篇文章为大家展示了Docker 中MongoDB如何使用使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 搜索镜像$ docker search mo
千家信息网最后更新 2024年11月19日Docker 中MongoDB如何使用使用

本篇文章为大家展示了Docker 中MongoDB如何使用使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

1. 搜索镜像

$ docker search mongoNAME                                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATEDmongo                               MongoDB document databases provide high avai…   6073                [OK]mongo-express                       Web-based MongoDB admin interface, written w…   493                 [OK]

2. 拉取镜像

MongoDB 提供官方镜像,下载安装镜像方法如下:

$ docker pull mongo

3. 查看镜像

$ docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             SIZEmongo               latest              f7adfc4dbcf5        29 hours ago        413MB

4. 启动镜像

$ docker run \-p :27017 -v :/data/db \-v :/data/configdb \--configsvr \-v :/data/backup--name docker_mongodb \-d mongo \-- auth

-p 指定容器的端口映射,mongodb 默认端口为 27017

-v :/data/db 为容器数据的挂载目录,这里是将即本机中的目录挂载到容器中的/data/db中,作为 mongodb 的存储目录

-v :/data/configdb -- configsvr 当我们需要修改配置文件时,我们只需要在宿主机上创建一个mongodb.conf文件,并将该文件所在的文件夹映射到容器的/data/configdb文件夹中,同时,在容器的启动命令中添加--configsvr参数即可。

-v :/data/backup 为容器备份的挂载目录,这里是将即本机中的目录挂载到容器中的/data/backup中,作为 mongodb 的备份目录

--name 为设置该容器的名称

-d 设置容器以守护进程方式运行

--auth 如果加需要验证就加--auth,不需要验证,就去掉。默认mongodb是不使用用户认证

5. 查看进程

$ docker ps -aCONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                      PORTS                                              NAMES1eafdfe92c89        mongo                    "docker-entrypoint.s…"   5 seconds ago       Up 4 seconds                0.0.0.0:27017->27017/tcp                           docker_mongodb

6. 创建管理员admin 用户和密码

6.1 以admin用户身份进入mongo
--Linux$ docker exec -it 1eafdfe92c89 mongo admin---Windows$ docker exec -it 1eafdfe92c89 mongo amdinthe input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'>>>改为$ winpty docker exec -it 1eafdfe92c89 mongo amdinMongoDB shell version v4.0.11connecting to: mongodb://127.0.0.1:27017/amdin?gssapiServiceName=mongodbImplicit session: session { "id" : UUID("90590eee-7f0f-4336-844b-0ebcd267902e") }MongoDB server version: 4.0.11Welcome 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>
6.2 创建用户
> db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})Successfully added user: {        "user" : "root",        "roles" : [                {                        "role" : "root",                        "db" : "admin"                }        ]}
> exitbye

退出mongo

7 数据备份

$ docker exec -it  /bin/bash$ mongodump -h ip  -d 数据库名 -o  容器存放备份数据的地址例如: root@123456:/# mongodump -h 127.0.0.1 -d lyb -o /var/test/test.bat2019-07-31T05:15:24.585+0000    writing lyb.ali_access_token_log to 2019-07-31T05:15:24.585+0000    writing lyb.nls_log to 2019-07-31T05:15:24.586+0000    done dumping lyb.ali_access_token_log (17 documents)2019-07-31T05:15:24.586+0000    done dumping lyb.nls_log (1 document)root@123456:/# cd /var/test/root@123456:/var/test# lstest.bat

上述内容就是Docker 中MongoDB如何使用使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0