gpt4 book ai didi

mysql - 无法连接到 Docker 内的 MySQL 服务器

转载 作者:IT老高 更新时间:2023-10-28 21:26:18 25 4
gpt4 key购买 nike

首先我运行mysql镜像:

docker run -e MYSQL_ROOT_PASSWORD=password  -d  -p 127.0.0.1:3308:3306 mysql

然后我使用容器 bash:

docker exec -it my_container_name bash

在 Bash 中,我可以通过命令成功连接到 MySQL 服务器:

mysql -uroot -ppassword

但是当我尝试从 Windows cmd 连接到 MySQL 容器时:

mysql -uroot -ppassword -h127.0.0.1 -P3308

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (10061)

如果我改为连接到192.168.99.100(这个ip由docker-machine ip返回),那么结果是一样的。

问题是:如何正确地将 Docker 内部的 MySQL 端口暴露给 Windows 外部?

最佳答案

错误是在原始 docker run 命令中的端口映射中,您只需要提供端口,而不是 IP 地址:

docker run -e MYSQL_ROOT_PASSWORD=password -d -p 3308:3306 mysql

您可以运行 docker ps -a 来检查正在运行的容器中的端口映射。

您现在应该可以使用

连接到 MySQL
mysql -uroot -ppassword -h192.168.99.100 -P3308

关于mysql - 无法连接到 Docker 内的 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com