Exposing Public Host IP and port

We have deployed Kafka broker as a container through Rancher exposing publicIP:29092 as the broker IP through the container. But when the Kafka consumer is connecting to the Kafka broker, it is trying to connect to containerIP:9092. Since the container IP is not exposed outside the container, kafka consumer is not able to connect to Kafka.

What am i missing?

docker-compose.yml
broker:
image: rawmind/alpine-kafka:1.0.0-2
environment:
ADVERTISE_PUB_IP: ‘false’
CONFD_INTERVAL: ‘60’
JVMFLAGS: -Xmx1024m -Xms1024m
KAFKA_AUTO_CREATE_TOPICS: ‘true’
KAFKA_DELETE_TOPICS: ‘false’
KAFKA_LOG_DIRS: /opt/kafka/logs
KAFKA_LOG_RETENTION_HOURS: ‘336’
KAFKA_NUM_PARTITIONS: ‘3’
KAFKA_REPLICATION_FACTOR: ‘3’
ZK_SERVICE: zookeeper/zk
external_links:
- zookeeper/zk:zk
tty: true
volumes_from:
- broker-volume
- broker-conf
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.sidekicks: broker-volume,broker-conf
io.rancher.container.hostname_override: container_name

rancher-compose
broker:
retain_ip: true
scale: 3
start_on_create: true
health_check:
healthy_threshold: 2
response_timeout: 5000
port: 9092
unhealthy_threshold: 3
interval: 5000
strategy: recreate