docker容器自定义网络,使容器之间更容易通信

docker引入网络新特性之后,内置了dns server,dns顾名思义域名解析,通过这个方式给容器指定ip和域名,可以让容器间访问使用自定义的ip和域名。

docker 自定义网络给容器指定ip、域名有以下几种新特性
  • 1.让容器的网络基于dns的域名解析
  • 2.拥有与宿主机之间安全的隔离环境
  • 3.自由的选择或放弃一个网络
  • 4.支持以-link给容器定义别名(通过–net-alias也可以设置别名)
  • 5.给出一个spring boot注册eureka的实例

当运行容器加入一个自定义网络时,不指定ip和域名,默认以容器id配置域名

首先通过以下命令来创建一个自定义网络

docker network create –subnet 172.25.0.1/16 huzx

查看创建的网络

这里写图片描述

当运行容器时指定加入刚创建的网络,–net huzx,同时指定ip,–ip 172.25.0.3,通过–net-alias(或者–link)指定别名(类似域名),这里我采用默认的别名(容器id即默认别名)。这个时候容器在创建的网桥中ip就变成指定的ip了,如图所示:

这里写图片描述

这种指定容器ip和域名的方式,单机情况下,在docker部署spring boot应用时,非常重要,因为spring boot的配置文件中如果要注册到服务注册中心,需要事先知道服务中心的ip或者域名,以便他们之间容器的通信。如果是采用默认的网络,将会自动分配一个容器ip,很不便于后期的spring boot开发、部署、迁移。

创建一个eureka-server的微服务,创建一个eureka-client的微服务,让两个微服务同时加入上面的网络,同时指定eureka-server的ip为–ip 172.25.0.2,eureka-client微服务的ip为 -ip 172.25.0.3,然后在eureka-client中可以事先的配置服务注册中心的ip。

huzx网桥中,两个容器ip如图所示

这里写图片描述

服务注册效果图如下

这里写图片描述

注意:之所以eureka进入安全模式,可能是微服务运行内存空间不足导致健康检查失败所致,在此可以忽略。

上一篇:docker的三种通信方式bridge、host、none
下一篇:未完待续

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值