作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
首先我运行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
来检查正在运行的容器中的端口映射。
您现在应该可以使用
连接到 MySQLmysql -uroot -ppassword -h192.168.99.100 -P3308
关于mysql - 无法连接到 Docker 内的 MySQL 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40363670/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!