sonic icon indicating copy to clipboard operation
sonic copied to clipboard

最新版本docker容器,无法使用MySQL数据连接同一网络中容器MySQL

Open muyiacc opened this issue 11 months ago • 1 comments

检查清单

是什么版本出现了此问题?

通过尝试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`

muyiacc avatar Mar 25 '24 07:03 muyiacc

不能通过环境变量配置数据库端口。 #395

aaro-n avatar Apr 16 '24 13:04 aaro-n

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

github-actions[bot] avatar Aug 15 '24 02:08 github-actions[bot]