zoukankan      html  css  js  c++  java
  • docker for windows 容器内网通过独立IP直接访问的方法

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

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

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

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

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

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

    clipboard

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

    clipboard

    通过宿主机无法ping通

    clipboard

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

    查看route print

    clipboard

    查看docker 的ip地址

    clipboard[1]

    暴露给宿主机的为10.0.75.1

    添加路由

    route -p add 172.17.0.0 MASK 255.255.255.0 10.0.75.2

    clipboard[2]

    重新ping容器地址

    clipboard[3]

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

  • 相关阅读:
    测试候选区
    This is my new post
    发布到首页候选区
    nb
    []
    隐藏列(gridview遍历)
    交叉表、行列转换和交叉查询经典
    数据库设计中的14个技巧
    jQuery操作表格,table tr td,单元格
    不愿将多种编程语言杂糅在一起?可能你还没意识到而已
  • 原文地址:https://www.cnblogs.com/brock0624/p/9788710.html
Copyright © 2011-2022 走看看