gomysql95% confidence\u2191 6

panic: dial tcp 127.0.0.1:3306: connect: connection refused

Full error message
I'm trying connect mysql server from docker using golang gin gorm.

The build itself has succeeded, but as shown in the title, the following error has been issued.

panic: dial tcp 127.0.0.1:3306: connect: connection refused

Trying to connect in this way

func dbConnect() *gorm.DB {
    db, err := gorm.Open("mysql", "docker:password@/godocker")

    if err != nil {
        panic(err.Error())
    }

    return db
}

docker-compose.yml 

db:
    image: mysql:5.7.26
    environment:
      MYSQL_USER: docker
      MYSQL_ROOT_PASSWORD: password
      MYSQL_PASSWORD: password
      MYSQL_DATABASE: godocker
    ports:
      - "3306:3306"

Result of hitting docker-compose ps command

      Name                   Command             State                 Ports
------------------------------------------------------------------------------------------
gin-docker_api_1   /bin/sh -c gin -i run         Up      0.0.0.0:3001->3001/tcp
gin-docker_db_1    docker-entrypoint.sh mysqld   Up      0.0.0.0:3306->3306/tcp, 33060/tcp

Thanks

You should connect to connect via container's name instead db: image: mysql:5.7.26 container_name: godockerDB environment: MYSQL_USER: docker MYSQL_ROOT_PASSWORD: password MYSQL_PASSWORD: password MYSQL_DATABASE: godocker ports: - "3306:3306" Then you can conenct via container name func dbConnect() *gorm.DB { db, err := gorm.Open("mysql", "docker:password@tcp(godockerDB)/godocker") if err != nil { panic(err.Error()) } return db }

API access

Get this solution programmatically \u2014 free, no authentication.

curl https://depscope.dev/api/error/b7dd167ef05708a1e86b792f1f6469f5af35dfbabadadd4fab5afee5ed466264
hash \u00b7 b7dd167ef05708a1e86b792f1f6469f5af35dfbabadadd4fab5afee5ed466264
panic: dial tcp 127.0.0.1:3306: connect: connection refused — DepScope fix | DepScope