1、安装wsl
2、安装ubantu
3、以root进入ubantu,cd到fastgpt目录
3、执行
在终端输入代码:
openssl rand -base64 756 > ./mongodb.key
接着再输入:chmod 600 ./mongodb.key
接着再输入:chown 999:root ./mongodb.key
4、修改docker-compose.yml
mongo:
image: mongo:5.0.18
# image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
container_name: mongo
restart: always
ports: # 生产环境建议不要暴露
- 27017:27017
networks:
- fastgpt
command: mongod --keyFile /data/mongodb.key --replSet rs0
environment:
# 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
- MONGO_INITDB_ROOT_USERNAME=username
- MONGO_INITDB_ROOT_PASSWORD=password
volumes:
- ./mongo/data:/data/db
- ./mongodb.key:/data/mongodb.key
entrypoint:
- bash
- -c
- |
chmod 400 /data/mongodb.key
chown 999:999 /data/mongodb.key
exec docker-entrypoint.sh $$@
主要修改mongo
5.在fasttgpt目录
目录下主要有在三个文件
docker-compose pull
docker-compose up -d
6、
-
先在终端输入:
docker exec -it mongo bash
-
再输入:
mongo -u myname -p mypassword --authenticationDatabase admin
-
(注意这里的
myname
和mypassword
,要和docker-compose.yml
里mongo
部分的代码一致。) -
初始化副本集。在终端输入以下代码:
rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "mongo:27017" } ] })
# 检查状态。如果提示 rs0 状态,则代表运行成功 rs.status()
重启测试
docker-compose pull
docker-compose up -d