I have app that run in docker, it is mongodb and I build it from my docker compose , but I only be able to run it inside the docker , can't run from in my local host this is my docker compose:
version: "3.7"
services:
mongodb01:
image: "bitnami/mongodb:4.2"
hostname: mongodb01.dev.com
ports:
- 27017:27017
restart: always
environment:
- MONGODB_ADVERTISED_HOSTNAME=mongodb01.dev.com
- MONGODB_REPLICA_SET_MODE=primary
- MONGODB_REPLICA_SET_NAME=rs0
- MONGODB_ROOT_PASSWORD=password123
- MONGODB_REPLICA_SET_KEY=replicasetkey123
- MONGODB_ENABLE_DIRECTORY_PER_DB=yes
volumes:
- "mongodb01_data:/bitnami/mongodb"
networks:
mongodb:
aliases:
- mongodb01.dev.com
mongodb02:
image: "bitnami/mongodb:4.2"
hostname: mongodb02.dev.com
ports:
- 27018:27018
restart: always
depends_on:
- mongodb01
environment:
- MONGODB_ADVERTISED_HOSTNAME=mongodb02.dev.com
- MONGODB_REPLICA_SET_MODE=secondary
- MONGODB_REPLICA_SET_NAME=rs0
- MONGODB_PRIMARY_HOST=mongodb01.dev.com
- MONGODB_PRIMARY_ROOT_PASSWORD=password123
- MONGODB_REPLICA_SET_KEY=replicasetkey123
- MONGODB_ENABLE_DIRECTORY_PER_DB=yes
- MONGODB_PORT_NUMBER=27018
volumes:
- "mongodb02_data:/bitnami/mongodb"
networks:
mongodb:
aliases:
- mongodb02.dev.com
mongodb03:
image: "bitnami/mongodb:4.2"
hostname: mongodb03.dev.com
ports:
- 27019:27019
restart: always
depends_on:
- mongodb02
environment:
- MONGODB_ADVERTISED_HOSTNAME=mongodb03.dev.com
- MONGODB_REPLICA_SET_MODE=secondary
- MONGODB_REPLICA_SET_NAME=rs0
- MONGODB_PRIMARY_HOST=mongodb01.dev.com
- MONGODB_PRIMARY_ROOT_PASSWORD=password123
- MONGODB_REPLICA_SET_KEY=replicasetkey123
- MONGODB_ENABLE_DIRECTORY_PER_DB=yes
- MONGODB_PORT_NUMBER-27019
volumes:
- "mongodb03_data:/bitnami/mongodb"
networks:
mongodb:
aliases:
- mongodb03.dev.com
volumes:
mongodb01_data:
mongodb02_data:
mongodb03_data:
networks:
mongodb:
I am trying to build mongodb replicaset, but I do love to run it from my localhost mongo , how can it make possible ??
To ba able to run it from local host, you need to expose the ports.
Add ports:
- 27017:27017
to your service. Take a look at this post