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
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 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 is particularly problematic because of networking limitations. The solution is as follows:
sudo ifconfig lo0 alias 10.200.10.1/24 # (where 10.200.10.1 is some unused IP address) export DOCKER_HOST_IP=10.200.10.1
See Docker for Mac networking for more details.
Please run our Docker Networking Diagnostics utility.
If you run into problems and need more help please don’t hesitate to contact us.