2025年4月1日 星期二 乙巳(蛇)年 正月初二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 云技术 > Docker

Docker 网络模型

时间:12-14来源:作者:点击数:9
CDSY,CDSY.XYZ

一、Docker 本地网络类型

1、查看支持网络类型

  • docker network ls
  • [root@izuf61z952szxgixgccuagz yaok]# docker network ls
  • NETWORK ID NAME DRIVER SCOPE
  • 252de78eda8f bridge bridge local
  • 06862bdd614e host host local
  • 51ca07926a04 none null local

2、测试使用各类网络类型

  • docker run network=xxx
  • bridge(常用):默认模式相当于NAT
  • host:公用宿主机Network NameSapce(网络层不隔离)
  • none:无网络模式
  • container(k8s中):与其他容器公用Network NameSapce

二、Docker 跨主机网络类型

1、macvlan 实现

缺点是只能在虚拟网络里互相访问。容器不能访问外网,同时外网也不能访问到容器。

  • docker network create --driver macvlan --subnet=10.0.0.0/24 --geteway=10.0.0.254 -0 parent=eth0 macvlan1
  • ip link set eth0 promsic on (ubuntu或其他版本需要)
  • docker run -it --network macvlan1 --ip=10.0.0.1 center:6.9 /bin/bash

2、overlay 实现

每个容器有两块网卡 容器内eth0与docker0关联,访问外网/提供的服务(端口映射) 容器内eth1跨主机容器通信使用

1、启动 consul 服务,实现网络的统一配置管理

  • 统一配置关联服务容器
  • docker run -d -p 8500:8500 -h consul progrium/consul -server -bootstrap
  • //consul:kv类型的存储数据库(key:value)
  • docker01、docker02上:
  • vim /etc/docker/daemon.json
  • {
  • "host":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"],
  • "cluster-store":"consul://10.0.0.100:8500",
  • "cluster-advertise":"10.0.0.100:2376"
  • }
  • systemctl daemon-reload
  • systemctl restart docker

2、创建 overlay 网络

  • docker network create -d overlay --subnet 172.16.0.0/24 --geteway 172.16.0.254 ol1

3、启动容器测试

  • docker run -it --network ol1 --name testoverlay centos /bin/bash
  • //每个容器有两块网卡,eth0实现容器间的通讯,eth1实现容器访问外网
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐