使用特定范围的 IP (仅适用于v1.x)不适用于新版的v1.1x

Docker 会尝试寻找没有被主机使用的 ip 段,尽管它适用于大多数情况下,但是它不是万能的,有时候我们还是需要对 ip 进一步规划。Docker 允许你管理 docker0 桥接或者通过-b选项自定义桥接网卡,需要安装bridge-utils软件包。

基本步骤如下:

    • ensure Docker is stopped

      • # 确保 docker 的进程是停止的
    • create your own bridge (bridge0 for example)
      • # 创建自定义网桥
    • assign a specific IP to this bridge
      • # 给网桥分配特定的 ip
    • start Docker with the -b=bridge0 parameter
      • # 以 -b 的方式指定网桥

除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器。
在启动 Docker 服务的时候,使用 -b BRIDGE 或 --bridge=BRIDGE 来指定使用的网桥。
如果服务已经运行,那需要先停止服务,并删除旧的网桥。
$ sudo service docker stop
$ sudo ip link set dev docker0 down
$ sudo brctl delbr docker0
然后创建一个网桥 bridge0 。
$ sudo brctl addbr bridge0
$ sudo ip addr add 10.0.200.1/24 dev bridge0
$ sudo ip link set dev bridge0 up
查看确认网桥创建并启动。
$ ip addr show bridge0
4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default
link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff
inet 10.0.200.1/24 scope global bridge0
valid_lft forever preferred_lft forever
配置 Docker 服务,默认桥接到创建的网桥上,并为
$vim /etc/sysconfig/docker

other_args='--insecure-registry 10.0.30.5:5000 --graph=/data/docker/images -b=bridge0'
$ sudo service docker start
启动 Docker 服务。 新建一个容器,可以看到它已经桥接到了 bridge0 上。
可以继续用 brctl show 命令查看桥接的信息。另外,在容器中可以使用 ip addr 和 ip route 命令来
查看 IP 地址配置和路由信息。

5.外部主机想要访问容器内IP时,需要添加静态回执路由

route add -net 10.0.200.0 netmask 255.255.255.0 gw 10.0.30.6(容器所在的宿主机IP)

------------------------------------------------------------------------------------------------------

新版的docker v1.1x.x 相关配置,不需要自己手动创建网桥

dockerd --graph=/data/docker/ &
docker network create --subnet=10.0.200.0/24 --gateway=10.0.200.1 house200   该命令会创建一个网桥
docker run -itd --network house200 --ip 10.0.200.10 --name mycentos centos:6.6 /bin/bash

参考官方文档: https://docs.docker.com/engine/tutorials/networkingcontainers/

docker网络配置之自定义网桥的更多相关文章

  1. docker网络配置

    Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需 ...

  2. Docker网络配置、Docker部署分布式项目

    目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/cont ...

  3. 5、Docker网络配置(单机)

    一.概述 以下内容参考:https://docs.docker.com/network/#network-drivers Docker容器和服务如此强大的原因之一是您可以将它们连接在一起,或者将它们连 ...

  4. docker——网络配置

    一.网络启动与配置参数 Docker启动时会在主机上自动创建一个docker0虚拟网桥,实际上是一个Linux网桥,可以理解为一个软件交换机,它会在挂载其上的接口之间进行数据转发.同时,Docker随 ...

  5. Docker网络配置进阶

    Docker启动会默认创建docker0虚拟网桥,是Linux的一个bridge,可以理解成一个软件交换机.它会在挂载到它的网口之间进行转发. 之后所有容器都是在172.17.0.x的网段上,并且可以 ...

  6. docker网络配置方法总结

    docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...

  7. Docker(六):Docker网络配置进阶

    1.Docker集群网络配置之Weave Weave是Github上一个比较热门的Docker容器网络方案,具有非常良好的易用性且功能强大.仓库地址:https://github.com/weavew ...

  8. docker 网络配置

    先随便写几行命令 随后一点点的补充 端口映射实现访问容器. run -d -P training/webapp python app.py run -d -p 5000:5000 training/w ...

  9. Docker网络配置概述

    Overview One of the reasons Docker containers and services are so powerful is that you can connect t ...

随机推荐

  1. ashx

    一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Java中需要 ...

  2. jquery 获取浏览器可视窗口大小,滚动条高度

    alert($(window).height()); //浏览器时下窗口可视区域高度 alert($(document).height()); //浏览器时下窗口文档的高度 alert($(docum ...

  3. javascript confirm()函数的用法

    javascript confirm()函数的用法 confirm():确认消息对话框.用于允许用户做选择的动作.弹出的对话框中包含一确定按钮和一取消按钮. confirm(str) 参数说明: st ...

  4. pooling方法修改方案

    http://blog.csdn.net/malefactor/article/details/51078135#0-tsina-1-38411-397232819ff9a47a7b7e80a4061 ...

  5. id 和 instancetype

    静态数据类型 默认情况下所有的数据类型都是静态数据类型 静态数据类型的特点: 1 在编译时就知道变量的类型 2 知道变量中有哪些属性和方法 3 在编译的时候就可以访问这些属性和方法 4 并且如果是通过 ...

  6. 百度翻译&&金山词霸API

    #/usr/bin/env python3 #coding=utf8 """百度翻译api功能实现函数,本模块基于Python3.x实现,getTransResult(q ...

  7. webStorm破解说明

    在idea里转一个 -> 注册时选择License server,填http://idea.lanyus.com

  8. django 过滤器 、日期格式化参数

    http://blog.csdn.net/xyp84/article/details/7945094 django1.4 html页面从数据库中读出DateTimeField字段时,显示的时间格式和数 ...

  9. 自动选中div中的文字

    <html> <head> <title></title> <script type="text/javascript" de ...

  10. Visual Studio 启动修复命令

    今天VS启动不了了,连命令行的 devenv.exe /? 都执行不了,看不到帮助命令了,记性不好,以前看过但没记住呀,还好我装了两个不同版本的VS, 另一个VS的帮助命令还是可以看到的.虽然修复了, ...