Docker-Network

Docker本地网络类型

docker network ls
nonoe	        #无网络模式
bridge	        #默认模式,相当于NAT
host	        #公用宿主机Network NameSpace
container	#与其他容器公用Network NameSpace

自定义网络

--driver bridge
--subnet 192.168.0.0/15
--gateway 192.168.0.1

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynetwork		#定义了一个叫mynetwork的网络
docker network inspect mynetwork	#查看mynetwork的元数据

容器网络互通

将其他网段的docker容器连接到另外一个网段,使两个不同网段的容器能通信
一个容器两个不同网段的ip地址
将另一个网段的容器加入mynetwork

docker netwrok connect mynetwork tomcat0-1

Overlay

docker之间跨主机访问

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

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
vim /etc/docker/daemon.json
{
  "hosts":["tcp://0.0.0.0:2376","unix:///var/run/docker.sock"],
  "cluster-store": "consul://172.16.1.110:8500",
  "cluster-advertise": "172.16.1.110:2376"
}

需要修改/usr/lib/systemd/system/docker.service
然后重启docker

2、创建overlay网络

docker network create -d overlay --subnet 192.168.0.0/24 --gateway 192.168.0.254 oll

两边主机都需要修改配置文件,一端创建之后,两边都能看到创建的oll网络

3、启动容器测试

docker run -it --network oll --name oll-1 busybox /bin/bash

每个容器有两块网卡,eth0实现容器间通讯,eth1实现外网访问

Macvlan

docker network create --driver macvlan --subnet=172.16.1.0/24 --gateway=172.16.1.254 -o parent=eth0 macvlan_1
posted @ 2021-08-26 11:17  Cai_HL  阅读(75)  评论(0编辑  收藏  举报
>