The best way to run the Eventuate example applications is using Docker Compose. Each application comes with a docker-compose.yml file that runs the services. Also, if you are using Eventuate Local there is a docker-compose-eventuate-local.yml file that runs the application services and the Eventuate Local infrastructure services: MySQL, Kafka and the CDC service.

In order to correctly configure Eventuate Local, you must set the OS environment variable DOCKER_HOST_IP. This variable sets the advertised listener of the Kafka container. It must be an IP address (or a DNS name) that is accessible from both Docker containers and, if you want to do development, from applications running on the host. Unfortunately, because of version/platform-specific variations in how Docker works, setting this variable is a little tricky.


Docker version   Set DOCKER_HOST_IP to
Docker ToolBox/VirtualBox-based Docker   IP address of VM
Docker for Windows (native)   IP address of PC
Docker for Mac (native)   See below
Other platforms/versions   Host name/ IP address of machine

Docker for Mac (native)

Docker for Mac is particularly problematic because of networking limitations. The solution is as follows:

sudo ifconfig lo0 alias  # (where is some unused IP address)

See Docker for Mac networking for more details.

Diagnosing problems with DOCKER_HOST_IP

Please run our Docker Networking Diagnostics utility.

Contact us

If you run into problems and need more help please don’t hesitate to contact us.

Stay in touch
Copyright © 2021 Eventuate, Inc • All rights reserved.