我正在尝试使用以下命令使用 mysql 存储启动 Vault docker 容器:
docker run --cap-add=IPC_LOCK -e 'VAULT_LOCAL_CONFIG={"storage": {"mysql": {"username":"root", "password":"hello", "database":"vault", "address":"127.0.0.1:3306"}}, "listener": {"tcp":{"address":"127.0.0.1:8200", "tls_disable":"1"}}, "default_lease_ttl": "168h", "max_lease_ttl": "720h"}' -e VAULT_SKIP_VERIFY=true vault server
这是我得到的错误:
初始化 mysql 类型的存储时出错:无法检查 mysql 架构 存在:拨打 TCP 127.0.0.1:3306:连接:连接被拒绝
我可以使用提供给上一个命令的用户名和密码连接到 mysql。
我还确保 mysql 在 3306 端口上运行
[root@jwahba]# netstat -tlpn | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 39552/mysqld
我查看了保管库官方文档(此处(,但我的配置中出了什么问题并不明显。请问有什么建议吗?
您正在尝试从 Docker 容器连接到本地主机上的数据库,但它们位于不同的网络堆栈上。在docker run
命令中使用--net="host"
;docker 容器中的 127.0.0.1 现在将指向 docker 主机。
源:从 Docker 容器内部,如何连接到计算机的本地主机?