docker for windows 容器内网通过独立IP直接访问的方法
Docker官方推荐我们通过端口映射的方式把Docker容器的服务提供给宿主机或者局域网其他容器使用。一般过程是:
1、Docker进程通过监听宿主机的某个端口,将该端口的数据包发送给Docker容器
2、宿主机可以打开防火墙让局域网其他设备通过访问宿主机的端口进而访问docker的端口
但在实际使用中并不是很方便。
以下在win10环境中队DockerDocker容器通过独立IP暴露给局域网的方法进行记录。
Docker的默认启动方式中,会产生一块虚拟网卡,然后容器内自行分配单独的网卡和IP。可以在宿主机上通过ipconfig命令看到这个虚拟网卡。

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

通过宿主机无法ping通

通过配置路由表实现ip互通
查看route print

查看docker 的ip地址

暴露给宿主机的为10.0.75.1
添加路由
route -p add 172.17.0.0 MASK 255.255.255.0 10.0.75.2

重新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
docker for windows 容器内网通过独立IP直接访问的方法的更多相关文章
- Docker - 解决在容器内删除和主机映射的目录而报错  rm: cannot remove 'webapps': Device or resource busy 的问题
		
问题背景 docker run -d --name tomcat7 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat:7 使用 ...
 - Docker/K8s 解决容器内时区不一致方案
		
转载自:https://cloud.tencent.com/developer/article/1433215 1.背景介绍 我们知道,使用 docker 容器启动服务后,如果使用默认 Centos ...
 - 干货:不同场景容器内获取客户端源IP的方法
		
摘要:客户端和容器服务器之间可能存在多种不同形式的代理服务器,那容器中如何获取到客户端真实的源ip呢? k8s已经成为当今容器化的标准,人们在享受容器带来的高效与便利的同时,也遇到一些烦恼:客户端和容 ...
 - 商务导航路由配置 2——端口映射 内网通过公网IP访问设置
 - [windows]利用IPSec对指定的ip进行访问限制
		
以win2003系统为例: 操作(看图): 1.任务:现在192.168.2.200可访问;目的;本地禁止对其访问 2.进入:管理工具->本地安全设置->IP安全策略 3.右键创建IP安全 ...
 - Docker容器内连接宿主机即CentOS的Mysql服务器
		
docker的宿主机是虚拟机下的CentOS 博主最近遇到一种情况,从服务器拷贝了一份数据库在宿主机Mysql服务器上,想要用本地的数据库测试自己的代码正确性,但是项目程序都是靠docker一键部署的 ...
 - 学习docker on windows (1): 为什么要使用docker
		
为什么要用Docker? 如果我们想使用某种pc软件, 那么在互联网上查找并安装软件的流程大致如下图: 那么这就有几个问题要弄清楚: 从哪里获得软件 App Store Linux的包管理 从某些网站 ...
 - .net core 2.x - docker(for windows)-linux配置及项目+SqlServer发布
		
将.net core2.x+sqlserver项目发布到docker.呵呵,操作很自如,如下. 1.罗嗦几句 在跑起来之前浪费了不少时间和精力,起初是将docker for windows的环境转换成 ...
 - Windows Time服务无法启动 错误5拒绝访问
		
接着上次写的文章 XP和Win7设置系统自动同步系统时间方法 本文就把故障出现的过程和解决方法一共写下来,希望大家可以看到本文在解决此项服务的思路.大家以后出现类似的问题和问题可以一样使用此类方法解决 ...
 
随机推荐
- Spring Boot 集成 Swagger2 教程
			
上篇讲过 Spring Boot RESTful api ,这篇简单介绍下 SwaggerUI 在 Spring Boot 中的应用. Swagger 是一个规范和完整的框架,用于生成.描述.调用和可 ...
 - java web第一次课堂测试1
			
---恢复内容开始--- 要求如图: 本程序包括四个文件,一个显示界面的jsp文件,一个dao层文件,一个servlet层文件 一个连接数据库的文件 下面依次附上代码: 前端界面: <%@ pa ...
 - 疫情对国内5G发展的影响
			
导读 2020年春节期间,“新型冠状病毒”引发了自SARS之后又一次全国性疫情,而世卫组织也将之列为国际关注的突发公共卫生事件,随后多国发布了针对中国的旅行警告和入境限制,从当前情况来看,疫情对中国各 ...
 - Invalid or unexpected token:数据格式错误
			
一个查询页面突然出现如下这个错误: Uncaught SyntaxError: Invalid or unexpected token, 翻译成中文是: 捕获的查询无效或意外的标记. 既然代码逻辑没问 ...
 - springMVC读取本地图片显示到前端页面
			
@RequestMapping("/getImage") @ResponseBody public void getImagesId(HttpServletResponse rp) ...
 - 误删Django的model中的表解决办法
			
误删Django的model中的表解决办法 1.model里面的表格实际的操作都在migrations文件夹中,里面记录了操作过程,当在database和model中删除表格时要注意初始化数据库时会报 ...
 - Win10中小娜无法搜索本地应用
			
解决方案 1.win+X - Windows PowerShell(管理员) 2. 输入Get-AppXPackage -Name Microsoft.Windows.Cortana | Fo ...
 - 二十 Struts2的标签库,数据回显(基于值栈)
			
通用标签库 判断标签:<s:if>.<s:elseif>.<s:else> 循环标签:<s:iterator> 其他常用标签: <s:proper ...
 - rails work
			
4.2 Say "Hello", Rails problem weppack not install solve run the command rails webpacker:i ...
 - CentOS 7 搭建Cobbler实现自动化安装系统
			
1.安装软件包 # yum -y install epel-release #安装EPEL源 # yum -y install cobbler dhcp pykickstart 2.启动cob ...