本篇文章为大家展示了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如何使用使用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。