zoukankan      html  css  js  c++  java
  • docker的网络配置

      

    Docker的4种网络模式

    我们在使用docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式:

    • host模式:使用–net=host指定。
    • container模式:使用–net=container:NAME_or_ID指定。
    • none模式:使用–net=none指定。
    • bridge模式:使用–net=bridge指定,默认设置。

    pipework的使用以及源码分析

    Docker自身的网络功能比较简单,不能满足很多复杂的应用场景。因此,有很多开源项目用来改善Docker的网络功能,如pipework、weave、flannel等。这里,就先介绍一下pipework的使用和工作原理。

    pipework是由Docker的工程师Jérôme Petazzoni开发的一个Docker网络配置工具,由200多行shell实现,方便易用。下面用三个场景来演示pipework的使用和工作原理。

    将Docker容器配置到本地网络环境中

    为了使本地网络中的机器和Docker容器更方便的通信,我们经常会有将Docker容器配置到和主机同一网段的需求。这个需求其实很容易实现,我们只要将Docker容器和主机的网卡桥接起来,再给Docker容器配上IP就可以了。

    下面我们来操作一下,我主机A地址为10.10.101.105/24,网关为10.10.101.254,需要给Docker容器的地址配置为10.10.101.150/24。在主机A上做如下操作:

    #安装pipework
    git clone https://github.com/jpetazzo/pipework
    cp ~/pipework/pipework /usr/local/bin/
    #启动Docker容器。
    docker run -itd --name test1 ubuntu /bin/bash
    #配置容器网络,并连到网桥br0上。网关在IP地址后面加@指定。
    #若主机环境中存在dhcp服务器,也可以通过dhcp的方式获取IP
    #pipework br0 test1 dhcp
    pipework br0 test1 10.10.101.150/24@10.10.101.254
    #将主机eth0桥接到br0上,并把eth0的IP配置在br0上。这里由于是远程操作,中间网络会断掉,所以放在一条命令中执行。
    ip addr add 10.10.101.105/24 dev br0; 
        ip addr del 10.10.101.105/24 dev eth0; 
        brctl addif br0 eth0; 
        ip route del default; 
        ip route add default gw 10.10.101.254 dev br0

     注意事项

    docker 默认使用   172.16   、172.17、 172.18 ... 网段。  注意不能和本地ip 冲突,否则可能会导致 ssh 连接不上,或网络问题。
  • 相关阅读:
    Sql Server 日期时间格式转换
    Windows7中pagefil.sys和Hiberfil.sys文件删除与转移
    64位机的pl/sql不安装32位oracle的连接方式
    cmd下进入oracle sqlplus
    杂七杂八
    做题记录Ⅱ
    SPOJ GSS8
    AGC036 A-Triangle | 构造
    Atcoder 题目泛做
    CF398A Cards | 贪心
  • 原文地址:https://www.cnblogs.com/chengyangyang/p/10320820.html
Copyright © 2011-2022 走看看