Docker宝贝成长计划第十一天(docker本地网络类型)

一、查看docker的网络类型

[root@bogon opt]# docker network ls

二、测试使用各网络类型

docker run --network=XXX ..........................

none:无网络模式

bridge:默认模式,相当于NAT

host:公用宿主机Network NameSpace

netstat -tulnp#查看主机端口状况

container:与其他容器共用NetWork NameSpace

应用场景:可以提供容器的宕机冗余。

三、Docker跨主机网络介绍

1、macvlan docker自带的,实现跨宿主机之间的网络通讯。

docker network create --driver macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macvlan_1 #创建一个虚拟的网络通道

ip link set eth0 promsic on (ubuntu或其他版本需要)

docker run -it --network --ip=192.168.1.1 macvlan_1 centos:7 /bin/bash #用--ip命令指定ip地址。

注:启动ipv4的forward转发

cat /proc/sys/net/ipv4/ip_forward#可以查看,如果是0则说明ipv4的转发功能没有开启。

2、docker跨主机访问-overlay实现

(1)启动consul服务实现网络的统一配置管理
docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap #一个保存配置信息的服务docker

consul:kv类型的存储数据库(key:value)

(2)在docker01、02上修改配置信息使之能够识别consul的配置信息:

vim  /etc/docker/daemon.json

{

........................................................................

........................................................................

"hosts":["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"

}

vim /etc/docker/daemon.json

vim /usr/lib/systemd/system/docker.service

systemctl daemon-reload

systemctl restart docker

(3)创建overlay网络,在一方创建了overlay之后,其他容器使用overlay网络模型之后都会识别到overlay网络。

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

(4)启动容器测试

docker run -it --network ol1 --name oldboy01  busybox /bin/bash

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容