Docker容器内的Mysql连接
最近⼀直在本地虚拟机上学习Docker,使⽤Mysql5.5镜像⽣成容器后,在物理机上使⽤navicat-premium却⽆法连接,接下来说下整体过程与解决⽅法。
1、到需要下载的mysql镜像
docker search mysql
2、下载镜像
docker pull docker.io/mysql
3、查看下载的镜像
docker images
4、查看mysql暴露端⼝号
⼀般都是3306,有兴趣的可以通过命令查看,c856是镜像前4位
docker image inspect c856
5、运⾏容器
run-运⾏;d-守护进程;-p-端⼝隐射(外部访问端⼝为3308,内部的刚才过了是3306);-e-设置mysql的密码;–name-给容器命名;c856-镜像ID前4位。
docker run -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=root --name=mysql2 c856
6、查看运⾏的容器,并使⽤navicat连接
使⽤旧版mysql5.5⽣成容器后,再使⽤navicat连接
7、容器内放两个mysql
再次使⽤mysql5.5建⽴⼀个容器,通过nestat -tlnpu 看到,3307,3308两个端⼝都已经开启监听(3306是虚拟机本地的数据库端⼝)
8、连接两个容器内的mysql
可以看到可以同时连接两个容器内的数据库,暴露端⼝都是3306,映射端⼝不同,也是能够正常连接的。mysql社区版国内镜像下载

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。