使用 Docker 安装 MongoDB

MongoDB 是一个开源的基于文档的非关系型数据库,它的数据以 JSON 的形式进行存储。由于项目上用到了 MongoDB,这里就记录一下使用 docker 安装 mongo 的方法。

注:以下示例命令全部以 root 用户执行,可根据自身情况更改相应的命令。

一、拉取镜像

MongoDB 的 Docker 官方镜像页面是:https://hub.docker.com/_/mongo

这里我使用的是最新的镜像标签,可以使用下面的命令来拉取最新的镜像,如需要特定的版本,可以在镜像页面查看所有的标签。

docker pull mongo:latest

二、新建持久化目录

这里呢我把 MongoDB 的数据存储目录给持久化到主机中,因此需要先在主机上新建一个本地目录:

mkdir -p /root/docker/mongodb/data

这里我使用的目录路径为 “/root/docker/mongodb/data“,可以根据自己的情况去更改。

也可以对配置文件进行一个持久化。默认情况下 mongod 不会读取配置文件,因此如果要使用本地的配置文件来启动mongod 不仅需要映射本地配置文件到容器中,还要在 docker run 时指定 mongod 读取配置文件,这个下文会说明,这里先示例新建本地配置文件。首先新建一个本地配置持久化目录:

mkdir -p /root/docker/mongodb/conf

接着编辑配置文件:

vim /root/docker/mongodb/conf/mongod.conf

配置文件的具体内容这里不再给出,可参考官方文档:https://docs.mongodb.com/manual/administration/configuration/

三、运行容器

接下来就是用 docker run 命令来运行一个 MongoDB 容器:

docker run  -d \
  -e MONGO_INITDB_ROOT_USERNAME=mongoadmin \
  -e MONGO_INITDB_ROOT_PASSWORD=secret \
  -v /root/docker/mongodb/data:/data/db \
  -p 27017:27017 \
  --network mongo-network \
  --name mongo \
  --restart always \
  mongo:latest

第一行表示将该容器放置在后台运行。

第二第三行表示配置 mongo 数据库超级管理员账号的用户名和密码。

第四行表示将本地的 /root/docker/mongodb/data 目录映射为容器中的 /data/db 目录,即步骤二中的数据持久化目录。

如果需要映射本地配置文件,这里就需要再加上一行本地配置目录的映射:

  -v /root/docker/mongodb/conf:/etc/mongo \

第五行表示将本地的27017端口映射到容器中的27017端口,后面就可以通过主机ip:27017来访问容器中的 mongo

第六行表示使用名为"mongo-network"的虚拟网络,方便其他容器连接 mongo,这个是可选的。

第七行表示给这个容器起一个名字,后面可以通过该名字来管理这个容器。

第八行表示该容器会开机自起。

第九行则是指定使用哪一个镜像和标签。如果需要指定配置文件,则需要在后面加上:

 --config /etc/mongo/mongod.conf

运行了之后会返回一个容器ID。我们可以使用该容器的名字或者ID来控制这个容器:

# 启动
docker start mongo
# 停止
docker stop mongo
# 重启
docker restart mongo
# 开机自起
docker enable mongo
# 取消开机自起
docker disbale mongo

启动了之后呢就可以通过映射出来的本地27017端口来连接 mongo

四、视频教程

针对本次教程我也录制了视频教程,如有需要可以使用微信扫一扫文章下方左边的二维码或者搜索"sunriseydy"关注本站的微信公众号然后回复"docker_install_mongodb"即可获取视频观看链接。


版权说明:
作品 sunriseydy 采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
文章内容如未说明均为原创,欢迎转载,但请注明原作者(sunriseydy)和原文链接(https://blog.sunriseydy.top/technology/linux/docker-install-mongodb/)
部分来自互联网的文章,如有侵权,请联系我,24小时内删除,谢谢

手机打开扫一扫即可访问本页面

感谢您的支持,SunriseYDY 会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

日出一点一 | 在探索的路上永不止步

分享到微博 分享到QQ 微信赞赏 在手机上阅读

评论一下呗亲

邮箱地址不会被公开。 必填项已用*标注