navicat连接docker lamp容器中的mysql报错,错误码2003
我使用docker hub里面的mattrayner/lamp运行了一个容器,暴露了3306和8081端口用作外部使用。在使用navicat尝试连接mysql时报错:2003 - cant't connect to mysql server on ip (10061 "unknown error“)
下面是我的dockerfile和docker-compose.yml
// dockerfile
FROM mattrayner/lamp:latest-1604
CMD ["/run.sh"]
// docker-compose.yml
version: "3"
services:
lamp:
build:
context: .
dockerfile: Dockerfile
volumes:
- "/home/chwech/tp5:/app"
- "/home/chwech/mysql-data:/var/lib/mysql"
ports:
- "3306:3306"
- "8081:80"
容器运行是正常的up状态。
补充:
在docker所在机器ping 容器ip地址 能ping通, telnet 容器ip 3306 失败。
在容器内执行select host,user from mysql.user;结果如下:
怎样才能用navicat连接上呢?谢谢各位大虾啦。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
MySQL5.7版本用Navicat for MySQL就连不上了,要换Navicat Premium或者Workbench客户端
docker没用过,不过跟VM应该差不多,先看下mysql服务是否启动,我telnet 139.199.17.176 3306是访问不了,正常是防火墙开启,没有开放3306端口。
再者建议执行select host,user from mysql.user;贴出来看下
映射的是不是本机?127.0.0.1 ?
你是用本地的navicat连接阿里云docker里的mysql的?
mysql默认不允许远程连接的吧,你要在mysql里开启远程连接吧