跨宿主机与docker容器通信
文章目录
有一些应用只需要1个端口就能访问
比如 nginx
而有一些应用的搭建都是由多个节点搭建的
比如hadoop 当访问hdfs的时候 访问的不仅仅用port还会用ip
这时后端口映射就不那么好使了
1. 环境介绍
win10 开发环境
win10下通过虚拟机安装了ubuntu-16 网络为桥接
ubuntu-16中运行了docker
win10-IP: 192.168.88.123
ubuntu-IP: 192.168.88.3
2. 目标
-
通常操作
docker run -d –name nx -p 8080:80 nginx 访问nginx可在win10浏览器打开 192.168.88.3:8080 -
希望实现
|
|
访问nginx可在win10浏览器打开 172.17.0.6
- 事实上
在ubuntu内可以ping通
但win10直接访问172.17.0.6是连不上的
3. 方案1-配置路由
|
|
得到nginx的ip为 172.17.0.6 则在win10 为172.17.0.0添加路由
|
|
4. 方案2-vpn
在 ubuntu中通过docker安装vpn-pptp
|
|
ubuntu上装好代理后
在win10上连接上pptp的代理
vpn-IP 192.168.88.3
用户名 tom 密码 123
5. 方案3
为容器分配和宿主机相同网段的ip
网上就能搜pipework docker
步骤不少就不写了
文章作者 duansheli
上次更新 2019-12-25 (325c7b3)