问题描述
我设置了MongoDB副本,在同一ec2实例上在AWS S3上设置了1个主节点和3个通过docker-compose部署的工作节点(仅出于开发目的)。
我个人可以连接到任何节点,并看到具有其集合的数据库。 当我尝试从任何数据库客户端应用程序(例如Compass或Robo 3T)连接到副本集时遇到的问题。它显示我已成功连接到ec2实例,但无法连接到docker master节点。 ec2实例的入站和出站规则都将所有端口都设置为任何目的地(对所有人开放,并且从任何地方开放)。
这是我的docker-compose文件
version: "3.0"
volumes:
mongo-keys:
mongo-data-0:
mongo-data-1:
mongo-data-2:
mongo-data-3:
networks:
replica-set:
driver: bridge
ipam:
driver: default
config:
- subnet: 172.10.5.0/24
services:
mongo-keys:
image: depop/openssl-bats
volumes:
- mongo-keys:/mongo-conf
command: 'bash -c "openssl rand -base64 741 > /mongo-conf/mongodb-keyfile; chmod 600 /mongo-conf/mongodb-keyfile; chown 999 /mongo-conf/mongodb-keyfile"'
# Primary
mongo-primary:
image: mongo:4.0.5
volumes:
- mongo-keys:/opt/keyfile
- mongo-data-0:/data/db
env_file: ./mongod.env
ports:
- 27017:27017
command: "mongod --smallfiles --auth --keyFile /opt/keyfile/mongodb-keyfile --replSet replica-set"
depends_on:
- mongo-keys
networks:
replica-set:
# Worker 1
mongo-worker-1:
image: mongo:4.0.5
volumes:
- mongo-keys:/opt/keyfile
- mongo-data-1:/data/db
env_file: ./mongod.env
ports:
- 27018:27017
command: "mongod --smallfiles --auth --keyFile /opt/keyfile/mongodb-keyfile --replSet replica-set"
depends_on:
- mongo-keys
networks:
replica-set:
# Worker 2
mongo-worker-2:
image: mongo:4.0.5
volumes:
- mongo-keys:/opt/keyfile
- mongo-data-2:/data/db
env_file: ./mongod.env
ports:
- 27019:27017
command: "mongod --smallfiles --auth --keyFile /opt/keyfile/mongodb-keyfile --replSet replica-set"
depends_on:
- mongo-keys
networks:
replica-set:
# Worker 3
mongo-worker-3:
image: mongo:4.0.5
volumes:
- mongo-keys:/opt/keyfile
- mongo-data-3:/data/db
env_file: ./mongod.env
ports:
- 27020:27017
command: "mongod --smallfiles --auth --keyFile /opt/keyfile/mongodb-keyfile --replSet replica-set"
depends_on:
- mongo-keys
networks:
replica-set:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)