为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 docker 访问数据库?

如何从 docker 访问数据库?

Go
海绵宝宝撒 2022-06-13 10:37:31
我需要访问我在 docker 之外创建的 MySQL 数据库,但出现错误如何访问我的数据库?panic: failed to connect databasegoroutine 1 [running]:main.init.0()    /go/src/app/src/main.go:33 +0x12c 
查看完整描述

2 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

我不确定当前推荐的方法是什么,但这是过去在不同操作系统上对我有用的方法:

OSX:将 mysql 主机设置为docker.for.mac.localhost

Windows:将 mysql 主机设置为host.docker.internal(这也适用于 OSX)

Linux:将 mysql 主机设置为 172.17.0.1.

根据您安装 mysql 的方式,您可能需要找到它的my.cnf配置并将bind_address值更改为0.0.0.0.


查看完整回答
反对 回复 2022-06-13
?
神不在的星期二

TA贡献1963条经验 获得超6个赞

一种方法是,获取数据库的 mysql 转储并将该文件复制到具有$HOME/docker/volumes/mysql主机路径的目录中,并使用--volume标志将其映射到 docker 容器。

  1. 通过执行以下命令获取数据库的转储:(mysqldump -u root -proot dnName > dbName.dat.sql将 dbName 替换为您的数据库名称)。

  2. 创建一个 Mysql docker 容器并使用卷标志将文件从主机映射到容器,同时执行 docker tun 命令:-v $HOME/docker/volumes/mysql:/var/lib/mysql.

  3. 将该 dumo 导入容器的 mysql 。mysql -u root -proot dbName < dbName.dat.sql.


查看完整回答
反对 回复 2022-06-13
  • 2 回答
  • 0 关注
  • 326 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号