美文网首页
docker学习(四)docker容器的网络连接

docker学习(四)docker容器的网络连接

作者: 吃猫的鱼0 | 来源:发表于2018-02-02 11:17 被阅读0次

docker容器的网络基础

查看运行docker守护进程机器上的网络设备

json@json:~$ ifconfig
docker0   Link encap:Ethernet  HWaddr 02:42:57:df:ca:cb
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

enp5s0    Link encap:Ethernet  HWaddr 28:d2:44:17:82:58
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:654 errors:0 dropped:0 overruns:0 frame:0
          TX packets:654 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:58600 (58.6 KB)  TX bytes:58600 (58.6 KB)

wlp4s0    Link encap:Ethernet  HWaddr 24:fd:52:63:a8:a8
          inet addr:192.168.1.119  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::dc67:d0a0:6619:994/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45902 errors:0 dropped:0 overruns:0 frame:23765
          TX packets:19165 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:35513178 (35.5 MB)  TX bytes:2647874 (2.6 MB)
          Interrupt:17

docker0 的网络设备

docker的守护进程就是通过docker0为docker的容器提供网络连接的各种服务
docker0实际上就是linux的虚拟网桥

网桥

根据OSI的七层模型中,网桥是使数据链路层的设备。它用来通过网络设备的物理地址来对网络进行划分并且传递数据。

Linux虚拟网桥的特点

1.可以设计IP地址
2.相当于拥有一个隐藏的虚拟网卡

docker0默认地址划分

Ip:172.17.42.1 子网掩码:255.255.0.0
MAC:02:42:ac:11:00:00 到 02:42:ac:11:ff:ff
总共提供了65534个地址

docker在容器启动时实际上要创建两端,一端在容器上,而另一端是运行在运行docker容器的主机上。

查看网桥:

1.安装网桥管理工具

sudo apt-get install bridge-utils

2.查看网桥设备

sudo brctl show

3.运行一个容器
4.查看容器的IP

ifconfig

5.查看网桥设备

sudo brctl show

这时在docker0后面的interfaces中多了一个参数,这就是docker在容器创建时,为容器连接docker0 所创建的一个网络接口。
同样使用 ifconfig命令也可以查到这个网络接口

修改docker0默认ip范围

当docker0提供的默认IP地址范围,不能满足我们希望为容器分配的IP地址时可以通过linux自带的修改docker0地址

$sudo ifconfig docker0 192.168.200.1 netmask 255.255.255.0

使用自定义虚拟网桥

1.添加虚拟网桥

a.添加网桥:$sudo brctl addbr bro
b.设置ip和子网掩码:$sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0

2.更改docker守护进程的启动配置

修改/etc/default/docker 中添加DOCKER_OPS值    -b=br0
$sudo vim /etc/default/docker

后面追加

DOCKER_OPS="-b=br0"

3.重启docker

$sudo service docker restart

4.查看设置是否成功

$ps -ef | grep docker

相关文章

  • docker学习(四)docker容器的网络连接

    docker容器的网络基础 查看运行docker守护进程机器上的网络设备 docker0 的网络设备 docker...

  • Docker学习(7) Docker容器

    Docker学习(7) Docker容器 Docker容器——简介 容器是镜像的运行时实例 启动容器使用docke...

  • 记录一次Docker的学习

    Docker学习 Docker概述 Docker安装 Docker命令镜像命令容器命令操作命令... Docker...

  • docker入门(一)

    docker 一、docker 安装 二、docker 命令 三、启动docker容器步骤 四、启动MySQL ​

  • 常用docker命令

    docker进入容器: docker查看容器ip docker重启容器 docker 启动容器 docker复制宿...

  • Docker学习(四)docker容器

    一、docker容器 上一章节我们学习了docker镜像额相关内容,基于docker镜像,我们可以创建docker...

  • docker笔记

    一、docker: 二、docker能够做什么? 三、镜像和容器: 四、docker安装: 五、docker仓库:...

  • Docker的网络模式

    Docker 支持的网络模式有: none。关闭容器内的网络连接 bridge。通过 veth 接口来连接容器,默...

  • Docker

    # Docker java进阶/docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器...

  • Docker

    Docker学习目标 Docker概述 Docker安装 Docker命令镜像命令容器命令操作命令... Dock...

网友评论

      本文标题:docker学习(四)docker容器的网络连接

      本文链接:https://www.haomeiwen.com/subject/gzbszxtx.html