Вам необходимо открыть порт MySQL, используя порт docker -p
, например,
docker run --name mysql -e MYSQL_ROOT_PASSWORD=root -p 33060:3306 -d mysql:5.7
Тогда стандартный порт приложения MySQL 3306 будет сопоставлен на IP вашего хоста с IP-адресом хоста. порт 33060. Затем используйте этот IP-адрес и порт в конфигурации приложения golang.
Также, как указал @Adrian, дождитесь полной загрузки контейнера MySql. Вы можете посмотреть его журнал через docker logs -f <CONTAINER_UD>
. Как только вы увидите, что он прослушивает локальный порт 3306, ваше приложение должно подключиться.