Я пытаюсь подключить мою программу golang к серверу mssql, который я запускаю в контейнере с помощью Docker.Голанг также работает на док-контейнере.Кажется, что скрипт go может успешно подключиться к базе данных, но не может выполнить с ней никаких операций.Итак,
db, err := sql.Open("mysql","SA:YourStrong!Passw0rd@tcp(127.0.0.1:1433)/")
if err != nil {
panic(err)
}
defer db.Close()
fmt.Println("Success open database")
Это распечатывает «успешную открытую базу данных», однако следующая часть кода вызывает панику,
_,err = db.Exec("CREATE DATABASE currency1")
if err != nil {
panic(err)
}
fmt.Println("Success CREATE database")
После использования docker для его сборки и запуска,вот что я получил
GO MYSQL START
Success open database
panic: dial tcp 127.0.0.1:1433: getsockopt: connection refused
Это команда, которую я использовал для запуска базы данных mssql
:
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=YourStrong!Passw0rd' -e 'MSSQL_PID=Express' -p 1433:1433 --name sql1 -d microsoft/mssql-server-linux:latest