Не получается установить коннект конта MySQL с сервисом Go

Всем привет! Столкнулся с проблемой, не выходит настроить подключение двух контейнеров внутри кластера compose. Вот сам yml:

version: '3.7' # NOTE: all your Dockerfile builds we need to carry in /build/<service_name> directory!!!
services:
  nginx:
    image: nginx # without a port naming it redirects to main page, afawc(as far as we can) also use 80 and 443 ports to connect
    restart: always
    ports:
      - "8000:80"
    deploy:
      replicas: 2
  auth:
    build: ./auth
    # 6987 basically
    restart: always
    depends_on:
      db:
        condition: service_healthy
      nats:
        condition: service_started
    deploy:
      replicas: 1
  db: 
    build:
      context: /db
      args:
        - MYSQL_DATABASE=${MYSQL_DATABASE}
        - MYSQL_USER=${MYSQL_USER}
        - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
    ports:
      - "3307:3306"
  adminer:
    image: adminer
    restart: always
    ports:
      - 8080:8080

Вот моя ссылка на подключение auth к db (вытаскивается из toml):

database_url = "admin:Erunda228@tcp(db:3307)/journal"

Наконец, кусок инициализации внутри кода сервиса:

// main.go
func init() {
    flag.StringVar(&configPath, "config-path", "./auth.toml", "path to configs")
}

func main() {
    flag.Parse()

    config := auth.NewConfig()
    _, err := toml.DecodeFile(configPath, config)
    if err != nil {
        log.Fatal(err)
    }
    log.Println("[INFO] => starting server using ", config.DatabaseURL, " URL: ")
    if err := auth.Start(config); err != nil {
        log.Fatal(err)
    }
    //time.Sleep(10*time.Second)
}
------------------------------
// myfileinitfuncs.go
func Start(config *Config) error {
    db, err := NewDB(config.DatabaseURL)
    if err != nil {
        return err
    }
    defer db.Close()
    store := sqlstore.New(db)
    sessStore := sessions.NewCookieStore([]byte(config.SessionKey))
    s := NewServer(store, sessStore)

    return http.ListenAndServe(config.BindAddr, s)
}

func NewDB(databaseURL string) (*sql.DB, error) {
    db, err := sql.Open("mysql", databaseURL)
    if err != nil {
        return nil, err
    }
    if err := db.Ping(); err != nil {
        return nil, err
    }
    return db, nil
}

Помогите понять, что я делаю не так, меня уже даже GPT послал.

*Дополняю. Прошу прощения, не кинул саму ошибку.

2024-04-20 01:13:06 2024/04/19 22:13:06 [INFO] => starting server using  admin:Erunda228@tcp(db:3307)/journal  URL: 
2024-04-20 01:13:06 2024/04/19 22:13:06 dial tcp 172.27.0.2:3307: connect: connection refused

И насчет наличия базы. После создания подгружаются все миграции, с помощью adminer проверял - всё работало.


Ответы (0 шт):