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