我正在将我的Linux docker环境从Mac移植到PC笔记本电脑。我有2个docker映像,一个是mysql:latest数据库映像,另一个是go:alpine应用程序服务器映像。
在我的Mac上,我使用bash脚本将环境变量传递到应用服务器,以构成与mysql的数据库连接字符串。
连接字符串为:
root:password@tcp(mysql_host:3306)/dbname
在Mac上但未在PC上运行数据库连接时,数据库连接成功。
上Windows 10,我已经安装Ubuntu和Docker for Windows。在中bash,我已经安装了Docker客户端,并且能够通过设置DOCKER_HOST环境变量来使用docker cli连接到我的Windows Docker主机。
我创建了一个自定义docker网络,我通过该--network标志将其传递给我的2个容器,以便他们可以互相看到,并且我已验证它们确实能够解析其容器名称。
我的应用服务器使用的连接字符串完全相同,但是返回以下错误:
this authentication plugin is not supported
我的执行代码中返回此错误的行是:
db, err = sql.Open("mysql", dbConnStr)
我想念什么?什么认证插件?
这是docker info我的PC上的输出:
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 27
Server Version: 18.04.0-ce
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: …