Docker部署安装MongoDB数据库

4,141 阅读2分钟

MongoDB是一个高性能的非关系型数据库,今天就来分享一下使用Docker部署MongoDB的方式。

1,拉取镜像

通过以下命令:

docker pull mongo

2,创建数据卷

同样地,我们需要为其配置文件数据以及集群元数据目录创建数据卷,因为这些数据较为重要,需要持久化到宿主机:

docker volume create mongo-config
docker volume create mongo-data
docker volume create mongo-cluster

这样就完成了具名数据卷的创建。

3,编写配置文件

按照上述命令完成数据卷配置之后,配置文件数据卷目录位于:/var/lib/docker/volumes/mongo-config/_data,进入这个目录,新建配置文件mongod.conf,配置文件为YAML格式,并自行按需加入配置。

配置文件选项可以参考:官方文档

如果不需要定义配置文件则可以不创建上述的mongo-config数据卷,同样地下面启动命令也不需要挂载配置目录。

4,创建并启动容器

通过下列命令:

docker run -id --name=mongodb -v mongo-config:/etc/mongo -v mongo-data:/data/db -v mongo-cluster:/data/configdb -p 27017:27017 -e LANG=C.UTF-8 mongo mongod -f /etc/mongo/mongod.conf

此时,容器就成功创建并运行了!上述参数意义如下:

  • -v 用于挂载数据卷,可见配置文件数据卷mongo-config对应的是容器内/etc/mongo目录,因此末尾的容器启动命令中指定配置文件的位置和这里是对应的
  • -p 暴露其默认端口27017
  • -e 指定语言环境变量为C.UTF-8,防止中文乱码

主要是注意最后的启动命令:

mongod -f /etc/mongo/mongod.conf

这里指定的配置文件位置和前面-v挂载配置文件数据卷的时候对应的容器内目录是一致的。

如果说你没有指定配置文件,且未创建mongo-config数据卷,则启动命令如下:

docker run -id --name=mongodb -v mongo-data:/data/db -v mongo-cluster:/data/configdb -p 27017:27017 -e LANG=C.UTF-8 mongo

5,登入MongoDB

除了远程连接之外,还可以直接在服务器终端上进行连接:

docker exec -it mongodb mongosh