Docker之bridge网络

一.相关介绍

docker的桥接网络使用虚拟网桥,bridge网络用于同一主机上的docker容器相互通信,连接到同一个网桥的docker容器可以相互通信,当我们启动docke时,会自动创建一个默认bridge网络,除非我们进行另外的配置,新创建的容器都会自动连接到这个网络,我们也可以自定义自己的bridge网络,docker文档建议使用自定义bridge网络,默认的bridge网络具有一定的缺陷

连接到同一bridge网络的容器可以相互访问彼此任意一个端口,如果不发布端口,外界将无法访问这些容器,在创建容器时,通过-p或是–publish指令发布端口

自定义bridge网络与默认bridge网络对比:

  • 默认桥接网络中的容器只能通过IP地址访问其他容器(除非使用遗留的-link指令连接两个容器),而自定义桥接网络提供DNS解析,可以通过容器的名字或是别名访问其他容器
  • 容器可以自由的进入或是退出自定义桥接网络,如果想要退出默认桥接网络,需要先停止容器的运行,然后重新创建该容器,并指定需要连接的其他网络
  • 如果更改了默认桥接网络的网络配置,需要重新启动docker,并且由于默认桥接网络只有一个,因此所有容器的网络配置都是一样的,而用户自定义网络可以在创建时指定网络配置(例如默认网关、MTU等),不需要重启docker,灵活性更高
  • 在默认桥接网络中,可以通过–link参数连接两个容器来共享环境变量,用户自定义网络中无法使用这种方式,但是docker提供了更好的方式:
    • 多个容器可以使用docker volume(这是docker存储数据的一种方式,以后会介绍)挂载到同一个文件,在文件中指明环境变量,从而实现所容器的环境变量共享
    • 多个容器可以使用同一个docker-compose(与docker service有关)文件启动,可以在该文件中定义共享环境变量
    • 可以使用swarm services,并且通过secrets和configs (这两个还没看)实现环境变量共享

二.使用自定义网络

1、创建一个自定义网络

(1)创建lss-net的网络

docker network create  lss-net

可以指定子网、IP地址范围、网关等网络配置,更多请查看:

https://docs.docker.com/engine/reference/commandline/network_create/#specify-advanced-options

(2)查看下本机的网络列表,发现已添加进去

[root@localhost ~]# docker network ls
NETWORK ID          NAME                DRIVER              SCOPE
19fa32c5bc3e        bridge              bridge              local
9d978517ef6f        host                host                local
c955f4b320ed        lss-net             bridge              local
710c293e1490        none                null                local

(3)移除自定义网络

docker network rm lss-net
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值