Docker libnetwork插件化网络功能
1.Docker网络相关命令
ls: 列出所有网络
$ docker network ls
create:创建一个网路
$ docker network create [OPTIONS] NETWORK
rm:删除网络
$ docker network rm NETWORK
connect将容器连接到一个已存在的网络
$ docker network connect [OPTIONS] NETWORK CONTAINER
disconnect将容器从网路中移除
$ docker network disconnect [OPTIONS] NETWORK CONTAINER
查看网络信息
$ docker network inspect [OPTIONS] NETWORK [NETWORK ...]
2.构建跨主机容器网络
1).配置网络信息管理数据库
$ sudo docker run -d \
-p "8500:8500" \
-h "consul" \
progrium/consul -server -bootstrap
2).配置Docker主机,保证每台主机都安装Docker
确保这两台主机都可以通过ip互访,另外,都能访问到数据库节点的8500端口
配置主机的Docker服务启动选项
DOCKER_OPTS="DOCKER_OPTS --cluster-store=consul://<CONSUL_NODE>:8500 --cluster-advertise=eth0:2376"
重启Docker服务
$ sudo service docker restart
3).创建网络
现在主机n1,n2上列出网络
n1: $ sudo docker network ls
n2: $ sudo docker network ls
在任意节点上创建网络multi,即可完成跨主机创建
n1: $ sudo docker network create -d overlay multi
创建后再查看网络
4).测试网路
n1上启动容器c1,连接到multi网络上
n1: $ sudo docker run -it --name=c1 --net=multi busybox
n1: $ ip a
发现其中一个eth0已经连接到multi网络上
n2上启动容器,同样也连接到multi网络上
n2: $ sudo docker run -it --name=c2 --net=multi busybox
通过ping测试
n2: $ ping c1