【发布时间】:2018-04-04 21:49:32
【问题描述】:
这是我在做什么的图片:
- 我有本地 Go API 代码,我已将其构建到 docker 映像中。
- 我已经从 docker 中提取了 MySQL docker 镜像。
- 我在 MySQL 中有数据库,Go API 正在访问 mysql。
在我的 Go API 是本地的并且 mysql 是 docker 容器之前一切正常。现在我已将本地 Go 代码构建为 docker 映像,当我尝试使用 docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:5.5 运行此映像时,Docker 容器立即启动并退出。
我尝试Docker Start -a Container-ID 再次启动容器,我收到此错误 'dial tcp 127.0.0.1:3306: getsockopt: connection denied'。
当我搜索此错误时,我得到了这个输入 - “在 mysql 服务器配置中设置绑定地址:127.0.0.1 后,我能够使用主机 localhost:3306 进行安装。”
但我不知道如何设置绑定地址。
任何有关这方面的意见都会有所帮助。
谢谢。
【问题讨论】:
-
你使用的db url是什么?
-
如果我理解正确,您尝试使用
127.0.0.1:3306从您的 Go 容器访问 MySQL? -
@PratheeshM,Daniel,我没有使用 127.0.0.1:3306 连接 Go 容器,而是使用 localhost。这是确切的连接字符串: var mysql_connect = "root:password@tcp(localhost:3306)/dbname"
标签: mysql docker tcp containers