sonic
sonic copied to clipboard
最新版本docker容器,无法使用MySQL数据连接同一网络中容器MySQL
检查清单
- [X] 已经在 GitHub Issues 中搜索过该问题
是什么版本出现了此问题?
通过尝试sqlite 安装可以看到是 Sonic 1.6.0
使用的什么数据库?
mariadb10.3
使用的哪种方式部署?
Docker
在线站点地址
No response
发生了什么?
sonic 采用最新镜像启动的容器(版本1.6.0),尝试使用MySQL数据库,但是提示 failed to initialize database, got error dial tcp: address tcp/port: unknown port,实际上配置是正确的。
后来我采用sqlite ,额外的,在导入的时候,会失败。
相关日志输出
2024-03-25T15:23:35.050+0800 INFO dal/dal.go:67 try connect to MySQL {"dsn": "Use dsn in config"}
2024-03-25T15:23:35.051+0800 ERROR reflect/value.go:584 failed to initialize database, got error dial tcp: address tcp/port: unknown port
2024-03-25T15:23:35.051+0800 FATAL dal/dal.go:38 connect to MySQL error {"error": "dial tcp: address tcp/port: unknown port"}
github.com/go-sonic/sonic/dal.NewGormDB
github.com/go-sonic/sonic/dal/dal.go:38
reflect.Value.call
reflect/value.go:584
reflect.Value.Call
reflect/value.go:368
go.uber.org/dig.defaultInvoker
go.uber.org/[email protected]/container.go:238
go.uber.org/dig.(*constructorNode).Call
go.uber.org/[email protected]/constructor.go:185
go.uber.org/dig.paramSingle.Build
go.uber.org/[email protected]/param.go:287
go.uber.org/dig.paramObjectField.Build
go.uber.org/[email protected]/param.go:484
go.uber.org/dig.paramObject.Build
go.uber.org/[email protected]/param.go:412
go.uber.org/dig.paramList.BuildList
go.uber.org/[email protected]/param.go:150
go.uber.org/dig.(*Scope).Invoke
go.uber.org/[email protected]/invoke.go:122
go.uber.org/dig.(*Container).Invoke
go.uber.org/[email protected]/invoke.go:82
go.uber.org/fx.runInvoke
go.uber.org/[email protected]/invoke.go:108
go.uber.org/fx.(*module).executeInvoke
go.uber.org/[email protected]/module.go:288
go.uber.org/fx.(*module).executeInvokes
go.uber.org/[email protected]/module.go:274
go.uber.org/fx.New
go.uber.org/[email protected]/app.go:503
main.InitApp
github.com/go-sonic/sonic/main.go:74
main.main
github.com/go-sonic/sonic/main.go:24
runtime.main
runtime/proc.go:250
附加信息
在本次提交issues之前,用的是mariadb 10.3对应mysql5.7,提交issues时,看到选择数据库备选,是MySQL8.0,这其中是否有什么关系吗,基于我的猜想。
贴上我的容器配置 sonic `version: '3.9' services: sonic: image: 'gosonic/sonic:latest' volumes: - './data:/sonic' ports: - '8080:8080' environment: - LOGGING_LEVEL_APP=info - SQLITE3_ENABLE=true - MYSQL_HOST=mariadb - MYSQL_PORT=3306 - MYSQL_DB=sonic - MYSQL_USERNAME=***** - MYSQL_PASSWORD=***** container_name: sonic restart: unless-stopped networks: - my_network
networks: my_network: external: true`
这是 mariadb容器的配置 `version: '3.3'
services: mariadb: image: mariadb:10.3 container_name: mariadb restart: always mem_limit: 300m volumes: - ./mysql:/var/lib/mysql - ./backup:/backup environment: - MARIADB_ROOT_PASSWORD=**** ports: - 2420:3306 logging: driver: "json-file" options: max-size: "10m" max-file: "3" networks: - my_network
networks: my_network: external: true`
不能通过环境变量配置数据库端口。 #395
This issue is stale because it has been open 120 days with no activity. Remove stale label or comment or this will be closed in 5 days