前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker for windows 容器和宿主机 ip互通

docker for windows 容器和宿主机 ip互通

作者头像
Laikee
发布于 2022-04-25 06:06:33
发布于 2022-04-25 06:06:33
3.7K0
举报
文章被收录于专栏:Laikee Tech SpaceLaikee Tech Space

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

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

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

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

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

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

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

此时通过Windows宿主机是无法Ping通容器的

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

暴露给宿主机的为10.0.75.1

添加路由

route -p add 172.17.0.0 MASK 255.255.255.0 10.0.75.2 重新ping容器地址,此时就可以Ping通了

现在则可以直接通过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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker 网络必知
在深入了解 Docker 之前,我们需要明确容器是如何在网络上进行通信的。Docker 网络是一个非常重要的主题,因为它决定了容器如何相互通信,以及容器如何与外部网络交互。在这篇文章中,我们将探讨 Docker 网络的几个关键概念,并通过实例来加深理解。
希里安
2024/01/02
3180
Docker 网络必知
docker网络
我们在使用 docker run 创建 Docker 容器时,可以用--net 选项指定容器的网络模式,Docker 有以下 4 种网络模式:
cuijianzhe
2022/06/14
6760
docker网络
5 年工作经验,Docker 的几种网络模式都说不清,你敢信?
Docker 在安装后自动提供 3 种网络,可以使用 docker network ls 命令查看
民工哥
2022/10/27
1.1K0
5 年工作经验,Docker 的几种网络模式都说不清,你敢信?
深入解析容器网络
在使用kubernetes之前, 最为火热的技术就是Docker技术了。 它完成了从虚拟机时代的过度,是走向云原生时代的开端。 但是由于docker的故步自封导致被google的开源的kubernetes后来居上, 现在的Docker虽然在积极改进, 但是主流大势已经被kubernetes掌握, 所以也只能起到助力作用。 回归正题, 在kubernetes的服务发现, 服务网格等技术火热之前, 是怎么来实现容器之间的通信呢 ?本文我们就来探讨一下。
用户11097514
2024/08/05
1830
深入解析容器网络
同宿主机暴露多个docker容器IP
使用docker时,如果想从局域网访问容器,比较常用的方式是将容器的网络模式设置为host模式,或者使用端口映射。但如果想部署多个应用并使用相同的端口,前面这两种方式就不适用了。
DifficultWork
2023/01/31
2.2K2
手工模拟实现 Docker 容器网络!
如今服务器虚拟化技术已经发展到了深水区。现在业界已经有很多公司都迁移到容器上了。我们的开发写出来的代码大概率是要运行在容器上的。因此深刻理解容器网络的工作原理非常的重要。只有这样将来遇到问题的时候才知道该如何下手处理。
开发内功修炼
2022/03/24
8400
手工模拟实现 Docker 容器网络!
docker 学习资料收集
docker镜像怎么迁移到其他的服务器 http://www.talkwithtrend.com/Question/123589
用户1177503
2018/08/01
9240
Docker 之容器间通信配置
当你开始大规模使用Docker时,你会发现需要了解很多关于网络的知识。Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理。然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分。因此,我们有必要深入了解Docker的网络知识,以满足更高的网络需求。
小手冰凉
2020/08/05
5.2K0
Docker网络——实现容器间通信、容器与外网通信以及容器的跨主机访问
由上图我们可以看到创建的网络ID为4554d78082da ,使用ip addr查看本机网络:
1850810
2021/06/06
17.1K0
Docker容器网络-基础篇
Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技术有Network Namespace、Veth设备对、Iptables/Netfilter、网桥、路由等。接下来,我将以Docker容器网络实现的基础技术来分别阐述,在到真正的容器篇章节之前,能形成一个稳固的基础知识网。
民工哥
2020/09/17
2.1K0
Docker容器网络-基础篇
Docker容器跨主机通讯的几种方式
此时docker引擎会创建一个veth对,一端连接到容器实例并命名为eth0,另一端连接到指定的网桥中(比如docker0),因此同在一个主机的容器实例由于连接在同一个网桥中,它们能够互相通信。容器创建时还会自动创建一条SNAT规则,用于容器与外部通信时,类似家里上网用的ISP提供给我们的动态IP。如果用户使用了-p或者-P端口,还会创建对应的端口映射规则,使得外部请求能够访问容器的服务,但是你不能通过IP直接访问,本文提供了3种方式实现容器的跨主机访问。
1850810
2021/06/06
2.3K0
Docker容器虚拟化(三)—网络管理 原
首先使用centos镜像新建一个容器,然后在该容器中安装httpd服务,并启动 ,再把该容器导成一个新的镜像(centos-httpd),然后再使用新镜像创建容器,并指定端口映射:
阿dai学长
2019/04/03
1.2K0
Docker容器网络
Docker在安装后自动提供3种网络,可以使用``docker network ls`命令查看
Alone-林
2022/08/23
5240
Docker容器网络
Docker实践之09-高级网络配置
当Docker启动时,会自动在主机上创建一个名为docker0虚拟网桥,实际上是Linux的一个bridge,可以理解为一个软件交换机,它会在挂载到它的网口之间进行转发。 同时,Docker随机分配一个本地未占用的私有网段中的一个地址给docker0接口。比如典型的172.17.0.1,掩码为255.255.0.0。此后启动的容器内的网口也会自动分配一个同一网段(172.17.0.0/16)的地址。 当创建一个Docker容器的时候,同时会创建了一对veth pair接口(当数据包发送到一个接口时,另外一个接口也可以收到相同的数据包)。这对接口一端在容器内,即一端在本地并被挂载到docker0网桥,名称以veth开头(例如vethb305ad8)。通过这种方式,主机可以跟容器通信,容器之间也可以相互通信。 Docker创建了在主机和所有容器之间一个虚拟共享网络。
编程随笔
2022/09/16
1.4K0
Docker实践之09-高级网络配置
使用 Linux 网络虚拟化技术探究容器网络原理
在 使用 Go 和 Linux Kernel 技术探究容器化原理 一文中,我们揭秘了容器的本质就是一个特殊的进程,特殊在为其创建了 NameSpace 隔离运行环境,并用 Cgroups 为其控制资源开销。
gopher云原生
2022/11/22
1.7K0
使用 Linux 网络虚拟化技术探究容器网络原理
Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)
自从Docker容器出现以来,容器的网络通信就一直是被关注的焦点,也是生产环境的迫切需求。容器的网络通信又可以分为两大方面:单主机容器上的相互通信,和跨主机的容器相互通信。下面将分别针对这两方面,对容器的通信原理进行简单的分析,帮助大家更好地使用docker。前面已经在Docker容器学习梳理--基础知识(2)这一篇中详细介绍了Docker的网络配置以及pipework工具。 docker单主机容器通信 基于对net namespace的控制,docker可以为在容器创建隔离的网络环境,在隔离的网络环境下,
洗尽了浮华
2018/01/23
3.6K0
Docker容器学习梳理--容器间网络通信设置(Pipework和Open vSwitch)
docker网络配置方法总结
docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口。默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址。docker0仅仅是一个在绑定到这上面的其它网卡间自己主动转发数据包的虚拟以太网桥,它能够使容器和主机相互通信,容器与容器间通信。问题是,怎样让位于不同主机上的docker容器能够通信。怎样有效配置docker网络眼下来说还是一个较复杂的工作,因而也涌现了非常多的开源项目来解决问题,如flannel、Kubernetes、weave、pipework等等。
全栈程序员站长
2022/02/11
7320
花了三天时间终于搞懂 Docker 网络了
容器网络实质上是由 Dokcer 为应用程序所创造的虚拟环境的一部分,它能让应用从宿主机操作系统的网络环境中独立出来,形成容器自有的网络设备、IP 协议栈、端口套接字、IP 路由表、防火墙等等与网络相关的模块。
syy
2020/11/13
20.4K1
花了三天时间终于搞懂 Docker 网络了
18 Sep 2019 容器网络(一)
所以,当容器不能上网时,首先ping docker0网桥,看是否能正常连接docker0网桥,然后查看docker0及相应的veth pair设备的iptables规则是否有异常,一般就能解决容器不能上网的问题了。
俊采
2023/10/17
2240
桥接模式?NAT模式?深入原理,一文带你彻底搞清楚!
安装好虚拟机以后,在网络连接里面可以看到多了两块网卡:【ps:为什么没有 桥接模式的网卡?看了后面就明白了】
方才编程_公众号同名
2024/09/19
3.6K0
桥接模式?NAT模式?深入原理,一文带你彻底搞清楚!
相关推荐
Docker 网络必知
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档