DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录.
  • DmozDir.org
DMOZ目录快速登录入口-免费收录各类优秀网站的中文网站目录.由人工编辑,并提供网站分类目录检索及地区分类目录检索,是站长免费推广网站的有力平台!

MacOS下解决宿主机和docker容器之间网络互通

  • MacOS下解决宿主机和docker容器之间网络互通

  • 已被浏览: 72 次2020年12月26日    来源:  https://www.cnblogs.com/freephp/p/14193507.html
  • docker在Mac下使用非常方便,官网提供了desktop版本的可视化软件,甚至还十分贴心地集成好了k8s套件。然而如果想同时部署和使用多个容器,每个容器不使用127.0.0.1地址,而是各自有ip,如使用172.17.0.x网段,则需

    docker在Mac下使用非常方便,官网提供了desktop版本的可视化软件,甚至还十分贴心地集成好了k8s套件。然而如果想同时部署和使用多个容器,每个容器不使用127.0.0.1地址,而是各自有ip,如使用172.17.0.x网段,则需要解决从宿主机到各个容器的网络通信。

    如果是使用其他Linux系统的用户则不用担心这个问题,Linxu系统会自动帮我们处理好ip之间的互通(宿主机和各个容器之间)。而Mac想要直接访问容器的ip,则需要曲线救国,通过搭建一个vpn服务,然后通过vpn再去和容器的网段互联。

    经过尝试openvpn成为了最佳的解决方案,github的项目地址为:openvpn

    根据官网项目描述,它是可以适用于Mac下的docker和Kubernetess:

    该容器(openvpn)在Docker For Mac容器和主机Mac本身之间创建VPN网络。它使您可以直接与作为在IP 172.17.0.0/16上运行的Docker容器运行的服务进行通信,还可以提供到Kubernetess Pod的直接路由以及默认情况下在网络10.1.0.0/16和10.96.0.0/16和10.101上运行的服务的直接路由.0.0 / 16

    然后依次顺序执行下列命令去创建vpn和vpn的配置。

    1.初始化一个ovpn数据容器,用以保存配置文件和凭证。

    docker volume create --name ovpn-data
    docker run -v ovpn-data:/etc/openvpn --rm onedata/docker-openvpn-kube-for-mac:1.3.0 ovpn_genconfig -u udp://localhost
    

    2.创建CA。

    docker run -v ovpn-data:/etc/openvpn --rm -it onedata/docker-openvpn-kube-for-mac:1.3.0 ovpn_initpki
    

    3.运行vpn server。

    docker run --dns 8.8.8.8 --restart=always -v ovpn-data:/etc/openvpn --name docker-openvpn-kube-for-mac -d -p 1194:1194/udp --cap-add=NET_ADMIN onedata/docker-openvpn-kube-for-mac:1.3.0
    

    4.创建一个不含秘钥的客户端凭证。

    docker run -v ovpn-data:/etc/openvpn --rm -it onedata/docker-openvpn-kube-for-mac:1.3.0 easyrsa build-client-full DockerForMac nopass
    

    5.使用嵌入式证书检索客户端配置。

    docker run -v ovpn-data:/etc/openvpn --rm onedata/docker-openvpn-kube-for-mac:1.3.0 ovpn_getclient DockerForMac > ~/Downloads/DockerForMac.ovpn
    

    上面这一步生成的DockerForMac.ovpn配置需要在Tunnelblink里面使用。Tunnelblink是一款开源免费的针对MacOS的OpenVPN图形化客户端,可以非常方便地使用openvpn配置来连接网络服务。下载地址在此:Tunnelblink,可以直接下载使用。
    下载并安装后Tunnelblink,运行它,然后再到终端执行如下命令来添加网络配置:

    open ~/Downloads/DockerForMac.ovpn
    

    如此这番操作,就可以直接通过宿主机去访问docker容器实例的ip了,使用ping命令也能ping通。


    以上信息来源于网络,如有侵权,请联系站长删除。

    TAG:宿主 容器 网络 macOS docker

  • 上一篇:Kafka数据每5分钟同步到Hive
  • 与“MacOS下解决宿主机和docker容器之间网络互通”相关的资讯
  • Docker-搭建日志监控系统
  • 利用5G网络以无线电源IOT设备
  • 苹果苹果:神经网络使用果园数据来预测储存后的果实质量
  • Docker上安装Redis
  • 社交网络调整谈话