docker容器内网通过独立IP直接访问怎么实现

蜗牛 互联网技术资讯 2022-05-31 37 0

本篇内容介绍了“docker容器内网通过独立IP直接访问怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

docker官方推荐我们通过端口映射的方式把docker容器的服务提供给宿主机或者局域网其他容器使用。一般过程是:

1、docker进程通过监听宿主机的某个端口,将该端口的数据包发送给docker容器

2、宿主机可以打开防火墙让局域网其他设备通过访问宿主机的端口进而访问docker的端口

但在实际使用中并不是很方便。

以下在win10环境中队dockerdocker容器通过独立ip暴露给局域网的方法进行记录。

docker的默认启动方式中,会产生一块虚拟网卡,然后容器内自行分配单独的网卡和ip。可以在宿主机上通过ipconfig命令看到这个虚拟网卡。

docker容器内网通过独立IP直接访问怎么实现  docker 第1张

打开一个容器,可以看到容器ip地址为自动分配的。

docker容器内网通过独立IP直接访问怎么实现  docker 第2张

通过宿主机无法ping通

docker容器内网通过独立IP直接访问怎么实现  docker 第3张

通过配置路由表实现ip互通

查看route print

docker容器内网通过独立IP直接访问怎么实现  docker 第4张

查看docker 的ip地址

docker容器内网通过独立IP直接访问怎么实现  docker 第5张

暴露给宿主机的为10.0.75.1

添加路由

route -p add 172.17.0.0 mask 255.255.255.0 10.0.75.2

docker容器内网通过独立IP直接访问怎么实现  docker 第6张

重新ping容器地址

docker容器内网通过独立IP直接访问怎么实现  docker 第7张

现在则可以直接通过ip访问。

由于docker默认采用bridge网络,每次容器启动时自动分配ip,我们可以创建自己的网络bridge1,在创建容器时指定ip,如需独立ip访问则另外增加路由。

route -p add 172.18.12.0 mask 255.255.255.0 10.0.75.2

如果删除路由:

route delete 172.18.12.0

“docker容器内网通过独立IP直接访问怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注蜗牛博客网站,小编将为大家输出更多高质量的实用文章!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论