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