容器间互联

Posted Timeless

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器间互联相关的知识,希望对你有一定的参考价值。

overlay跨网互联

试验规划

  1. 配置consul环境
    docker run -d -p 8500:8500 -h consul --name consul progrium/consul -server -bootstrap

    容器启动后,可以通过 http://192.168.195.131:8500 访问 consul

  2. 修改host1,host2配置
    ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --cluster-store=consul://192.168.195.131:8500 --cluster-advertise=ens33:2376
    修改host1,host2的docker.service文件(不同版本的docker的docker.service位置可能不一样),并分别执行:
    systemctl daemon-reload
    systemctl restart docker.service

    访问192.168.195.131:8500/ui/#/dc1/kv/docker/nodes/ 可以查看两台host信息

  3. 创建overlay网络
    docker network create -d overlay ovnet

    此命令在host1,host2任一执行均可,另外一个会自动同步

  4. 查看overlay网络
    docker network ls

    ovnet的scope为global

    docker network inspect ov_net

    subnet:10.0.0.0/24;gateway:10.0.0.1

  5. 测试互联
    docker run -t --network ovnet --name c1 centos 
    docker run -t --network ovnet --name c2 centos

    在host1上运行c1,host2上运行c2(name不可相同)

    docker exec c1 ping -c 3 c2

     

以上是关于容器间互联的主要内容,如果未能解决你的问题,请参考以下文章

Docker 网络详解之使用自定义网络实现容器间通过容器名称互联

Docker容器间网络互联原理,讲不明白算我输

docker1.9网络新特性,overlay网络实现主机间容器互联

Docker高级管理(实例演示!!!)

端口映射与容器互联

端口映射与容器互联