docker端口映射解释 外部连接docker里的mysql 踩坑记录

在学习docker的时候,跟着跑了一个在docker里创建mysql,在外部的数据库可视化软件进行连接的例子,前面都做的挺顺利的,顺利的创建了数据库,可以进行数据库操作,docker ps也可以看到这个数据库一直在运行。可到了连接的时候就总是无法连接,查了好多教程都直接跳过这段,自己找了好久,有人说ip不能是localhost,要通过docker-machine ip命令来找的,又有人说docker-machine是用来管理docker的,跟这个问题没有吊关系。
直到找到了这篇,提问的人遇到了和我一样的问题,他最后的解决办法就是把端口映射互换,于是我就想,我和他,是不是都搞错了映射关系啊??
比如这个docker ps
在这里插入图片描述
红框和黄框哪个是本机端口,哪个是容器的端口??
最后我找到了这篇,才弄清楚:红色框,也就是箭头前面的,指的是本机的端口,黄色框指的是容器的端口。也就是说访问本机的6666端口的时候,会自动跳转到容器里的3306端口(想想也是,3306多是mysql端口,所以是容器里的mysql的端口)
然我后又去尝试了一下,当当当,连接成功!
docker端口映射解释 外部连接docker里的mysql 踩坑记录_第1张图片

你可能感兴趣的:(学习,docker,端口映射)