我正在尝试使用以下命令启动具有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
我查看了vault的官方文档(在这里),但不清楚我的配置有什么问题。有什么建议吗?
1条答案
按热度按时间w1jd8yoj1#
您正试图从docker容器连接到localhost上的db,但它们位于不同的网络堆栈上。使用
--net="host"
在你的docker run
指挥部;docker容器中的127.0.0.1现在将指向docker主机。来源:从docker容器内部,如何连接到机器的本地主机?