You can check if your container is listening on port from any ipv4(0.0.0.0)
docker ps
example: 0.0.0.0:8086->3306/tcp
How is your server connected to network via firewall etc, if its connected via firewall then first check if port 8086 is open and are you able to telnet on port from another server
If telnet works then you need to confirm if you have created user in mysql for another server ip access, you need to create user with ip address of another server in order to access mysql or you can use 'user'@'%' with access to required db while creating user this will allow that user from any ip
*GRANT ALL PRIVILEGES ON dbname TO 'username'@'another-server-ip';
or
*GRANT ALL PRIVILEGES ON dbname TO 'username@'%';
'%' will allow from any host or ip
use grants as per your usage ex: select, insert, update etc.
Its good to map data volumes of mysql to host folder, its easy to manage backups and managing containers
you can try docker run --name mysql-server -p 3307:3307 -v /var/mysql_data/mysql:/var/lib/mysql -v /opt/done/mysql/my.cnf:/etc/mysql/my.cnf -it mysql sh
In above example volumes are mounted on different path outside container to local host folder