zoukankan      html  css  js  c++  java
  • (转)Docker

    原文链接: http://www.cnblogs.com/AlanWalkOn/p/6101875.html

    ---

    创建基于Key-Value的Docker overlay network。 这样运行在多个nodes上的container就可以通过内部网络进行通信访问了。

    安装环境centOS 7.2,Docker:1.12

    1. 两台测试机器(172.100.1.17 and 172.100.1.12)必须是唯一的且互相可以解析。

    2. 在(172.100.1.17)下载progrim/consul 镜像

    3.修改docker daemon 配置信息。创建.conf文件在/etc/systemd/system/docker.service.d。注意网卡名字ifconfig确认下本机IP。

    [Service - 17]
    ExecStart=/usr/bin/dockerd --cluster-store consul://172.100.1.17:8500 --cluster-advertise 172.100.1.17:2376

    [Service - 12]
    ExecStart=/usr/bin/dockerd --cluster-store consul://172.100.1.17:8500 --cluster-advertise 172.100.1.12:2376
     

    --cluster-store consul -> 指向获取 key-value 的机器

    --cluster-advertise -> 本机地址,并注意监听端口:2376

    4. Flush Changes

    $ sudo systemctl daemon-reload

    5.重启Docker Daemon

    $ sudo systemctl restart docker.service

    注意:两台机器都要重新启动host

    6. 启动 consul 

    docker run -d --restart="always"  -p "8500:8500"  -h "consul"  progrium/consul -server -bootstrap

    7. 运行Docker ps 确保consul正常运行

    $ docker ps
     
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                            NAMES
    4d51392253b3        progrium/consul     "/bin/start -server -"   25 minutes ago      Up 25 minutes       53/tcp, 53/udp, 8300-8302/tcp, 0.0.0.0:8500->8500/tcp, 8400/tcp, 8301-8302/udp   admiring_panini

    8. 创建overlay network. 注意subnet地址避免与hosts冲突。

     $ docker network create  --driver overlay --subnet 10.0.9.0/24 my-multi-host-network

    9. 查看overlay network是否存在

    docker network ls

    10. 在 host 17 (172.100.1.17)运行container使用overlay network

    docker run -d --name mybusybox17 --net my-multi-host-network mybusybox
    
    

    到此基于key-value的overlay network就创建好了。

    11. 在另外一台机器上 host 12(172.100.1.12)运行container

    docker run -d --name mybusybox12 --net my-multi-host-network mybusybox
    
    

       

    12. 进入 container (mybusybox12) 查看 另一个host 17上的 container (mybusybox17)

     

    13.  进入 container (mybusybox17) 查看 另一个host上的 container (mybusybox12)

    到这里,我们就完成了通过overlay模式的网络来联通位于不同 Docker Host 之内的 containers 的通信 :)

  • 相关阅读:
    Windows莫名内存到百分之百,需要修改虚拟内存
    idea中的springboot的maven项目报错Failed to clean project: Failed to delete D: ew_shunyishunyi argetshunyiWEB-INFclassesstatic
    VMware 启动虚拟机黑屏(Ubuntu)
    MySQL 8.0.18安装教程(windows 64位)
    ubunt中,使用命令su命令切换root账户,提示认证失败
    AngularJS 杂项知识点
    AngularJS $watch 性能杀手
    AngularJS controller as vm方式
    AngularJS 路由 resolve属性
    AngularJS $observe $watch
  • 原文地址:https://www.cnblogs.com/atuotuo/p/6278394.html
Copyright © 2011-2022 走看看