操作系统:RHEL 8

问题背景


参考文档 Gitee 开源项目 - MayFly-go 进行本地部署,首次启动容器失败。根据 docker logs 命令确认问题原因如下:

 [ERROR] [mayfly-go/internal/pkg/starter.initMysql (gorm.go:43)] : failed to connect to mysql! [dial tcp: lookup mysql on 192.168.88.2:53: no such host]
panic: failed to connect to mysql! [dial tcp: lookup mysql on 192.168.88.2:53: no such host]

核心问题:mysql 无法连接。

问题跟踪


在官方部署文档中,强调了 /mayfly-go/config.yml 文件。关于 MySQL 配置如下:

...
mysql:
  host: localhost:3306
  username: root
  password: xxxxx
  db-name: mayfly-go
  config: charset=utf8&loc=Local&parseTime=true
  max-idle-conns: 5
sqlite:
  path: ./mayfly-go.sqlite
  max-idle-conns: 5

在官方提供的容器内是默认不含 MySQL 内容。因此需要额外准备 MySQL 服务器或容器。

  1. 确保数据库访问可达。
  2. 确保数据库具备可访问的最低权限专有用户。
  3. 确保数据库具备 db-name 要求对象。

修改 host username password 内容,并对 db-name 进行修改或数据库中补充。

保存修改重启容器即解决问题。

更多推荐