Rancher on Azure external mysql db trying to use public IP

Starting rancher with a all the usual stuff
docker run -d --restart=unless-stopped -p 8080:8080 rancher/server --db-host <HOST> --db-port=3306 --db-user <USER> --db-pass <PASSWORD> --db-name <DBNAME>

Container starts fine however log shows

DEFAULT_CATTLE_WEBHOOK_SERVICE_EXECUTE=true
14:48:42.321 [main] INFO ConsoleStatus - Loading configuration
14:48:42.543 [main] ERROR i.c.p.a.sources.LazyJDBCSource - Failed to get connection to database, will retry for 5 minutes
org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not connect: Access denied for user ‘cattle’@‘IPADDRESS’ (using password: YES))
at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)

where IP Address is the PUBLIC IP of the azure container I an attempting to install rancher server on.

I can exec onto the container and connect to the DB using mysql without any issues.

uname -a

Linux 4.13.0-1011-azure #14-Ubuntu SMP Thu Feb 15 16:15:39 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

Please advise why this is happening.

Thanks