docker里的mongodb集群,更改hostname

转载自:

【mongo事务】使用docker-compose启动mongo,‘单副本模式‘实现支持事务。_badvalue: security.keyfile is required when author-CSDN博客

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都是同一个了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值