码迷,mamicode.com
首页 > 其他好文 > 详细

Docker 跨主机网络(十六)

时间:2018-05-03 11:37:56      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:overlay   docker   

一、跨主机网络概述

前面已经学习了 Docker 的几种网络方案:none、host、bridge 和 joined 容器,它们解决了单个 Docker Host 内容器通信的问题。本章的重点则是讨论跨主机容器间通信的方案。

技术分享图片

docker 原生的 overlay 和 macvlan。
第三方方案:常用的包括 flannel、weave 和 calico。

二、准备 overlay 环境

为支持容器跨主机通信,Docker 提供了 overlay driver。Docerk overlay 网络需要一个 key-value 数据库用于保存网络状态信息,包括 Network、Endpoint、IP 等。Consul、Etcd 和 ZooKeeper 都是 Docker 支持的 key-vlaue 软件,我们这里使用 Consul。

1、环境描述

我们会直接使用上一节 docker-machine 创建的实验环境。在 docker 主机 host1(192.168.1.201)和 host2(192.168.1.203)上实践各种跨主机网络方案,在 192.168.1.200 上部署支持的组件,比如 Consul。

2、创建 consul

在 192.168.1.200 这台设备上面执行如下命令。

docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

容器启动后,可以通过 http://192.168.1.200:8500 访问 Consul。

技术分享图片

3、修改 docker 配置文件

接下来修改 host1 和 host2 的 docker daemon 的配置文件 /etc/systemd/system/docker.service.d/10-machine.conf。

技术分享图片

--cluster-store 指定 consul 的地址。
--cluster-advertise 告知 consul 自己的连接地址。

重启 docker daemon。

systemctl daemon-reload  
systemctl restart docker.service

host1 和 host2 将自动注册到 Consul 数据库中。

技术分享图片

4、准备就绪

准备就绪,实验环境如下图:

技术分享图片

三、创建 overlay 网络

1、在 host1 中创建

在 host1 中创建 overlay 网络 ov_net1。

[root@ubuntu ~ [host1]]# docker network create -d overlay ov_net1
49a8ea9add6a80d44cbd6becf22d66af40072cf9c3a346d66f94a6e72d8042e5

-d overlay 指定 driver 为 overlay。

Docker 跨主机网络(十六)

标签:overlay   docker   

原文地址:http://blog.51cto.com/wzlinux/2112061

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!