美文网首页
容器网桥

容器网桥

作者: 欧耶90 | 来源:发表于2020-08-24 07:40 被阅读0次
  1. 默认网桥
    Docker服务启动时默认创建了docker0网桥,并指定了docker0接口的ip和子网掩码,让主机和容器之间可以通过网桥通信,还默认设置了MTU(接口运行接收的最大传输单元),默认为1500B,可以在配置文件中配置DOCKER_OPTS,然后重启服务,因为Docker网桥是Linux网桥,用户可以使用brctl show来查看网桥和端口的连接信息:
# 安装brctl
apt install bridge-utils -y
# 查看网桥信息
➜  ~ brctl show
bridge name bridge id       STP enabled interfaces
docker0     8000.0242184dc7a8   no      vethaf68b69

每次创建新容器时,Docker从可用的地址空间中选择一个ip给容器的eth0接口,并使用宿主机docker0接口的ip地址作为默认网关:

➜  ~ docker run -it --rm ubuntu:china bash
root@a9950c30b178:/# ip addr show eth0
23: eth0@if24: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
root@a9950c30b178:/# ip route
default via 172.17.0.1 dev eth0 
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.3 
  1. 自定义网桥
    除了使用默认docker0网桥,用户还可以自定义网桥让各个容器来连接使用,可以使用-b 或--bridge指定网桥
    停止Docker服务,删除旧网桥
[root@test01 ~]# service docker stop
Redirecting to /bin/systemctl stop docker.service
# 停止docker0网桥运行
[root@test01 ~]# ip link set dev docker0 down
# 删除docker0网桥
[root@test01 ~]# brctl delbr docker0

创建一个网桥bridge0:

brctl addbr bridge0
ip addr add 172.17.0.1/24 dev bridge0
ip link set dev bridge0 up

查看网桥并启动:

ip addr show bridge0

配置Docker服务使用自定义网桥:

echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker
sudo service docker start
  1. 使用OpenvSwitch网桥
    环境:Ubuntu.18
    安装OpenvSwitch
➜  ~ apt install openvswitch-switch -y

添加一个网桥br0并查看:

➜  ~ ovs-vsctl add-br br0
➜  ~ ovs-vsctl show
f4b805d4-f4c8-49d8-a3a6-484b46e7f37e
    Bridge br0
        Port br0
            Interface br0
                type: internal
    ovs_version: "2.13.0"

配置容器连接到OpenvSwitch网桥
- 创建无网口容器
bash docker run --net=none --privileged=true -it ubuntu:china bash

相关文章

  • Docker网络管理与容器互联

    暴露端口 容器互联 网桥 跨主机容器互联网桥Open vSwitchweave 暴露端口 容器运行起来后,其内部的...

  • 容器网桥

    默认网桥Docker服务启动时默认创建了docker0网桥,并指定了docker0接口的ip和子网掩码,让主机和容...

  • docker学习(七)docker容器的跨主机连接

    docker容器的跨主机连接 使用网桥实现跨主机容器连接 1、准备环境a、两台虚拟机b、安装网桥管理工具 c、IP...

  • Docker容器通信--网桥

    docker宿主网卡管理 借助网桥管理工具包:bridge-utile安装: 使用brctl命令创建网桥br1: ...

  • gitlab

    1.创建自定义网络 移除网桥 显示所有容器IP地址 2.启动nginx容器 3.启动gitlab容器 4.配置ng...

  • CoreOS容器云企业实战(6)--容器网络

    Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时...

  • 容器(11)----容器网络

    Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时...

  • Docker 单机测试 MariaDB Galera Clust

    最近工作有mysql集群的需要,做个学习记录。 创建网桥 作用:容器可以直接通过容器名称通信,不用设置IP。 目录...

  • 容器访问控制

    容器的访问控制主要是通过iptables防火墙软件实现的 容器访问外部网络容器的默认网关为docker0网桥的do...

  • Docker 网络-用户自定义网络原理知识

    基于 Docker18.09.0 建议使用用户定义的网桥来控制哪些容器可以相互通信,以及启用容器名称到IP地址的自...

网友评论

      本文标题:容器网桥

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