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.
Install Docker for Mac. Install docker using brew cask install docker or directly from the website here. Start XQuartz from command line using open -a XQuartz. In the XQuartz preferences, go to the “Security” tab and make sure you’ve got “Allow connections from network clients” ticked: Host Machine IP. To remove all machines: docker-machine rm -f $(docker-machine ls -q) (you might need to use -force on Windows) Removing machines is an optional step because there are cases where you might want to save and migrate existing machines to a Docker for Mac or Docker for Windows environment, for example.
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 Machine Ip Addresses
Docker for Mac is particularly problematic because of networking limitations.The solution is as follows:
See Docker for Mac networking for more details.
Docker For Mac Machine Ip Address
Please run our Docker Networking Diagnostics utility.
Docker For Mac Machine Ipad
If you run into problems and need more help please don’t hesitate to contact us.