1、部署MongoDB
(1)new好一个mongo文件之后执行
(出现mongodb.key)记得放行端口
openssl rand -base64 666 > mongodb.key
(2)放到一个docker-compose.yml之后docker-compose up -d执行
version: '3.2'services:# 服务名称mongodb-27017:# 使用最新的 mongodb 镜像image: mongo:latest# docker 服务启动时,自动启动 mongo 容器restart: always# 容器的名称container_name: mongodb-27017# 宿主机中的目录和文件,映射容器内部的目录和文件volumes:- ./27017/data:/data/db- ./mongodb.key:/data/mongodb.keyports:# 宿主机的端口映射容器内的端口- 27017:27017environment:# 初始化一个 root 角色的用户 jobs 密码是 123456- MONGO_INITDB_ROOT_USERNAME=root- MONGO_INITDB_ROOT_PASSWORD=lht660036# 使用创建的桥接网络,把各个 mongodb 容器连接在一起networks:- mongo-network# 启动容器时,在容器内部额外执行的命令# 其中 --replSet 参数后面的 mongos 是集群名称,这个很重要command: mongod --replSet mongos --keyFile /data/mongodb.keyentrypoint:- bash- -c- |chmod 400 /data/mongodb.keychown 999:999 /data/mongodb.keyexec docker-entrypoint.sh $$@mongodb2:image: mongo:latestrestart: alwayscontainer_name: mongodb-27018volumes:- ./27018/data:/data/db- ./mongodb.key:/data/mongodb.keyports:- 27018:27017environment:- MONGO_INITDB_ROOT_USERNAME=root- MONGO_INITDB_ROOT_PASSWORD=lht660036networks:- mongo-networkcommand: mongod --replSet mongos --keyFile /data/mongodb.keyentrypoint:- bash- -c- |chmod 400 /data/mongodb.keychown 999:999 /data/mongodb.keyexec docker-entrypoint.sh $$@mongodb3:image: mongo:latestrestart: alwayscontainer_name: mongodb-27019volumes:- ./27019/data:/data/db- ./mongodb.key:/data/mongodb.keyports:- 27019:27017environment:- MONGO_INITDB_ROOT_USERNAME=root- MONGO_INITDB_ROOT_PASSWORD=lht660036networks:- mongo-networkcommand: mongod --replSet mongos --keyFile /data/mongodb.keyentrypoint:- bash- -c- |chmod 400 /data/mongodb.keychown 999:999 /data/mongodb.keyexec docker-entrypoint.sh $$@# 创建一个桥接网络,把各个 mongodb 实例连接在一起,该网络适用于单机
# 如果在不同的宿主机上,使用 docker swarm 需要创建 overlay 网络
networks:mongo-network:driver: bridge
(3)然后随便进入一个容器,输入账号密码
docker exec -it 461950f32d09 '/bin/bash'
(4)进去之后初始化一下
rs.initiate({_id: "mongos",members: [{ _id : 0, host : "129.204.151.181:27017" },{ _id : 1, host : "129.204.151.181:27018" },{ _id : 2, host : "129.204.151.181:27019" }]
});
(5)正常连接,搞定
2、Springboot集成
(1)new一个项目,先选好aliyun配置(不然只能用3.0的)
(2)勾选好信息