1.新建立了一个mydocker的容器,在里面安装了一个mysql并启动,希望通过centos能直接访问容器的mysql数据库
3.检查
[root@mysql01 ~]# netstat -nputl|grep -i 3366
tcp6 0 0 :::3366 :::* LISTEN 17673/docker-proxy-
[root@mysql01 ~]# docker port mysql5.6.24
3306/tcp -> 0.0.0.0:3366
成功,但是这个方法好恶心哦,要是再加个服务怎么办?
其他方法我还没试
参考:
http://www.jb51.net/article/127630.htm
https://www.cnblogs.com/jie-fang/p/7920863.html
方法一
- [root@mysql01 ~]# docker inspect mydocker|grep -i ipaddre
- "SecondaryIPAddresses": null,
- "IPAddress": "172.17.0.3",
- "IPAddress": "172.17.0.3",
-
-
-
- 配置转发:
- [root@mysql01 ~]# iptables -t nat -A DOCKER -p tcp --dport 3388 -j DNAT --to-destination 172.17.0.3:3306
- 检查:
- [root@mysql01 ~]# docker port mydocker
- [root@mysql01 ~]# netstat -nputl | grep -i 3388
[
root@mysql01 ~
] iptables -t nat -L -n (端口转发得通过这种方式查看)
方法二:
- 1.先将mydocker容器保存为一个镜像
- docker commit mydocker myimages
-
- 2.再在myimages镜像上重新启动一个容器mysql5.6.24并指定端口映射
- docker run -d --name mysql5.6.24 -p 3366:3306 -it myimages /bin/bash
3.检查
[root@mysql01 ~]# netstat -nputl|grep -i 3366
tcp6 0 0 :::3366 :::* LISTEN 17673/docker-proxy-
[root@mysql01 ~]# docker port mysql5.6.24
3306/tcp -> 0.0.0.0:3366
成功,但是这个方法好恶心哦,要是再加个服务怎么办?
其他方法我还没试
参考:
http://www.jb51.net/article/127630.htm
https://www.cnblogs.com/jie-fang/p/7920863.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-2152496/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29096438/viewspace-2152496/