Kubernetes认证考试自学系列 | docker网络

书籍来源:《CKA/CKAD应试指南:从Docker到Kubernetes完全攻略》

一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Kubernetes认证考试自学系列 | 汇总_COCOgsta的博客-CSDN博客


1.8.1 了解docker网络

在物理机里创建一个docker网络,本质上就是为docker容器创建一个交换机,然后给这个交换机指定一个网段。创建好网络之后,会在物理机上产生一个虚拟网卡,这个网卡的IP地址是这个docker网段的第一个IP地址。

比如安装好docker之后,会自动创建一个名字叫作bridge的网络,把它想象成是一个交换机,它的网段是172.17.0.0/16, 物理机里会生成一张网卡docker0, IP是172.17.0.1。创建容器时, 容器默认就是连接到此交换机的,所以容器里的IP也是172.17.0.0/16里的一个IP。

如果想再创建一个网络mynet, 相当于为容器又创建了一个交换机, 这个网段如果指定为10.0.0.0/24的话,则此交换机在物理机上所产生的虚拟网卡的IP是此网段的第一个IP,即10.0.0.1。连接到此交换机上的容器的IP也是10.0.0.0/24里的一个IP。

步骤1:查看当前docker网络。

[root@vms100 ~]# docker network list
NETWORK ID     NAME      DRIVER       SCOPE 
d5ce17cd1128   bridge    bridge       local 
03b05ec43e7a   host      host         local 
a935f5599b67   none      null         local 
[root@vms100 ~]#
复制代码

步骤2:查看名字为bridge的网络的信息。

[root@vms100 ~]# docker network inspect bridge
[
  {
    "Name": "bridge",
大量输出...
},
    "Labels": {}
  }
]
[root@vms100 ~]#
复制代码

1.8.2 创建docker网络

创建网络的语法:

docker network create -d 类型(一般写bridge) --subnet=网段 网络名 
复制代码

步骤1:创建名字为mynet的网络, 网段为10.0.0.0/24。

[root@vms100 ~]# docker network create -d bridge --subnet=10.0.0.0/24 mynet 
e252fe757c2c8b40d078a2d4ec5838cb1cb276496d8e4c22f38908336418d677
[root@vms100 ~]#
复制代码

这里创建了一个名字为mynet、类型为bridge的网络, 网段为10.0.0.0/24, 以后使用该网络的容器获取的IP就在10.0.0.0/24内。

查看该网络的信息。

[root@vms100 ~]# docker network inspect mynet
[
  {
    "Name": "mynet",
...输出...
    "Driver": "bridge",
    "EnableIPv6": false,
    "IPAM": {
      "Driver": "default",
      "Options": {},
      "Config": [
        {
          "Subnet": "10.0.0.0/24"
        } 
    ...输出...
  }
]
[root@vms100 ~]#
复制代码

如果创建某容器想使用mynet的话, 则需要使用--net=mynet来指定。

步骤2:创建名字为c1的容器, 连接到刚创建的网络mynet里。

[root@vms100 ~]# docker run --net=mynet -it --name=c1 --rm hub.c.163.com/library/centos
[root@56589f42218b /]#
复制代码

在ssh客户端另外的标签里查询c1的IP信息。

[root@vms100 ~]# docker inspect c1 | grep IPAddress
  "SecondaryIPAddresses": null,
  "IPAddress": "",
    "IPAddress": "10.0.0.2",
[root@vms100 ~]#
复制代码

可以看到获取的IP是10.0.0.2, 这个IP就属于mynet网段。

退出c1容器,此容器会自动删除。

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/130180649
今日推荐