温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Docker 中MongoDB如何使用使用

发布时间:2021-06-18 15:20:50 来源:亿速云 阅读:175 作者:Leah 栏目:大数据

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

1. 搜索镜像

$ docker search mongo
NAME                                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mongo                               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 images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mongo               latest              f7adfc4dbcf5        29 hours ago        413MB

4. 启动镜像

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

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

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

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

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

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

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

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

5. 查看进程

$ docker ps -a
CONTAINER ID        IMAGE                    COMMAND                  CREATED             STATUS                      PORTS                                              NAMES
1eafdfe92c89        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 amdin
the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'
>>>改为
$ winpty docker exec -it 1eafdfe92c89 mongo amdin
MongoDB shell version v4.0.11
connecting to: mongodb://127.0.0.1:27017/amdin?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("90590eee-7f0f-4336-844b-0ebcd267902e") }
MongoDB server version: 4.0.11
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
>
6.2 创建用户
> db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})
Successfully added user: {
        "user" : "root",
        "roles" : [
                {
                        "role" : "root",
                        "db" : "admin"
                }
        ]
}
> exit
bye

退出mongo

7 数据备份

$ docker exec -it <CONTAINER ID> /bin/bash

$ mongodump -h ip  -d 数据库名 -o  容器存放备份数据的地址

例如: 
root@123456:/# mongodump -h 127.0.0.1 -d lyb -o /var/test/test.bat
2019-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# ls
test.bat

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI