Can only connect to a mysql running in a docker container when "allowPublicKeyRetrieval=true" in DBeaver driver settings

Check first, as in here, if adding ?allowPublicKeyRetrieval=true to your JDBC query is enough.

Check how you launch your Mysql docker image, make sure you public your ports.
Ad try using the root account/password generated by Mysql at the very beginningn as shown here.
Once that is working, you can check for the web user.