猿问

如何从 docker 访问数据库?

我需要访问我在 docker 之外创建的 MySQL 数据库,但出现错误如何访问我的数据库?


panic: failed to connect database

goroutine 1 [running]:

main.init.0()

    /go/src/app/src/main.go:33 +0x12c 


海绵宝宝撒
浏览 327回答 2
2回答

慕森王

我不确定当前推荐的方法是什么,但这是过去在不同操作系统上对我有用的方法:OSX:将 mysql 主机设置为docker.for.mac.localhostWindows:将 mysql 主机设置为host.docker.internal(这也适用于 OSX)Linux:将 mysql 主机设置为 172.17.0.1.根据您安装 mysql 的方式,您可能需要找到它的my.cnf配置并将bind_address值更改为0.0.0.0.

神不在的星期二

一种方法是,获取数据库的 mysql 转储并将该文件复制到具有$HOME/docker/volumes/mysql主机路径的目录中,并使用--volume标志将其映射到 docker 容器。通过执行以下命令获取数据库的转储:(mysqldump -u root -proot dnName > dbName.dat.sql将 dbName 替换为您的数据库名称)。创建一个 Mysql docker 容器并使用卷标志将文件从主机映射到容器,同时执行 docker tun 命令:-v $HOME/docker/volumes/mysql:/var/lib/mysql.将该 dumo 导入容器的 mysql 。mysql -u root -proot dbName < dbName.dat.sql.
随时随地看视频慕课网APP

相关分类

Go
我要回答