docker 配置overlay ( 跨主机访问)

环境:docker Server Version: 18.03.0-ce。

如何配置多台主机上的docker容器在同一个网络环境。通过docker自带的overlay可以实现。关于overlay的一些概念自行google。下面详细说明下如何配置。

  1. 想让两个网络环境下的容器互通,那么必然涉及到网络信息的同步,所以需要先配置一下consul。直接运行下面命令。启动consul。
    docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap
  2. 既然同步网络信息的工具安装好了,那么肯定需要容器能够使用这个同步工具,以便consul能够找到各个服务器的docker节点。修改各个节点 docker的启动配置文件/lib/systemd/system/docker.service。在 ExecStart 最后添加
    --cluster-store=consul://:8500 --cluster-advertise=eth0(当前对外ip使用的网卡名或者直接使用当前ip):2376
  3. 保证所有主机的docker配置文件都与2一致,这样就能保证所有的docker overlay网络同步在consul上。
  4. 基本上需要配置的工作我们都已经完成了。这样就该享受成果咯
    在随机一台机器上创建overlay网络(比如我想创建的docker的mongo集群网络互通,我创建了一个mongo的overlay的网络):
    docker network create -d overlay mongo
  5. 这个时候,你在别的机器上执行docker network ls,你将能够看到在上一台机器创建的overlay网络。

你可能感兴趣的:(docker 配置overlay ( 跨主机访问))