转载自:
1.获取副本集配置
config=rs.conf()
2.可以根据上面配置json的格式可以知道hostname的位置,从而对他进行重新赋值(将host改为当前容器的host)
config.members[0].host="c3e9261f8a04:27017"
3.最后更新config
rs.reconfig(config, {force : true})
改完以后mongo就能正常启动了
在yaml中指定hostname
version: '3.0'
services:
mongo:
hostname: mongo501
image: mongo:5.0.8
restart: unless-stopped
container_name: mongodb
command: --replSet rs0 --bind_ip_all --keyFile /data/mongodb/keyFile
environment:
TZ: 'Asia/Shanghai'
#用户名密码
MONGO_INITDB_ROOT_USERNAME: 'admin'
MONGO_INITDB_ROOT_PASSWORD: 'password'
ports:
- 27017:27017
volumes:
- ./mongodb/data:/data/db
- ./mongodb/keyFile:/data/mongodb/keyFile
这样的话每次新建的容器的hostname都是同一个了。