docker网络

作者: huxt | 来源:发表于2019-10-19 17:19 被阅读0次

    1.docker 网络

    1.创建网络netns:

    运行网络命令:

    如果回环口需要up的话需要2端都要连接起来 

    link test1 网络 查看本地回环口情况

    注意:以上操作都是分配了网络端口没有匹配IP,以下操作是给2容器分配IP地址

    目前test1和test2都是没有IP地址的

    启动2容器端口:

    test1和test2已经UP了,同时IP已经分配

    2容器网络已通:

    2.容器内部网络(容器是独立的,所以网络也需是独立的)

    容器内的网络能访问外部网络原理:

    3.如何解决容器之间访问由于IP不固定导致连接不上

    注意:test1 能ping test2 但是test1是不能ping test1的只能通过ip,link是有方向的

    新建容器指定网络

    再次看看my-bridge网络

    如果2个容器是连接在自己创建的网络上,是不用link的就能通过容器的名字来访问的:

    test2是连接到2个网络中的:

    4.端口映射

    创建nginx容器:

    端口映射

    5.docker中host和none网络

    test1 是独立的,只有本地能访问

    test1 是独立的,只有本地能访问

    连接host网络

    进入test1容器内部:

    注意:test1和主机是共享一套网络的。会存在端口冲突,eg只能启用一个80端口

    6.多复杂网络应用部署

    容器应用源码:

    应用程序通过环境变量就能访问到计算机的端口

    做了端口映射外面才能访问:

    同一个linux机器部署应用网络关系图:

    多主机应用部署访问网络

    7.不同linux主机通讯和应用部署(VXLAN)

    Docker Overlay网络和etcd实现多机容器通信

    redis数据服务:192.168.205.10----node1

    flask应用服务:192.168.205.11----node2

    192.168.205.11中的容器需要访问192.168.205.10 中的数据服务容器

    以下是在2个主机搭建分布式存储

    主机1:

    主机2:

    主机1执行:

    主机2执行:

    主机node1 重启docker服务,主要是让docker知道使用分布式存储

    手动启动docker:

    验证docker是否启动:

    同样在node2上也执行node1的操作

    主机node1的docker会发现一个node2主机的docker

    创建Overlay 网络

    在没创建之前查看2主机的网络:

    创建Overlay网络

    node1主机执行:

    node2主机会自动加入node1创建的网络

    原理如下:

    通过docker的Overlay互通网络,案例如下:

    node1主机创建容器:

    node2主机创建容器:

    查看dome网络:

    注意:dome中已经有2和Containers,并且网络是互通的

    相关文章

      网友评论

        本文标题:docker网络

        本文链接:https://www.haomeiwen.com/subject/garnmctx.html