侧边栏壁纸
博主头像
平凡之路博主等级

生活原本沉闷,但跑起来就会有风!

  • 累计撰写 82 篇文章
  • 累计创建 10 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

使用 Docker 安装 MongoDB

平凡之路
2021-11-02 / 0 评论 / 0 点赞 / 202 阅读 / 1,533 字

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

0

评论区