栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Docker 学习笔记 - 进阶四 Docker网络

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker 学习笔记 - 进阶四 Docker网络

Docker 学习笔记 - 进阶四 Docker网络
  • 4. docker 网络
    • 4.1 docker network是什么
      • 4.1.1 docker不启动,默认网络情况
      • 4.1.2 docker启动后,网络情况
    • 4.2 docker network 常用基本命令
      • 4.2.1 全部 network 命令
      • 4.2.2 查看网络: docker network ls
      • 4.2.3 创建和删除网络:
      • 4.2.3 查看网络源数据
    • 4.3 docker network 能解决什么问题
    • 4.4 docker network 的网络模式

笔记记录学习尚硅谷周阳老师的 docker 教程
链接地址: https://www.bilibili.com/video/BV1gr4y1U7CY?p=1

4. docker 网络 4.1 docker network是什么 4.1.1 docker不启动,默认网络情况
[root@vm001 admin]# ifconfig
ens33: flags=4163  mtu 1500
        inet 192.168.226.128  netmask 255.255.255.0  broadcast 192.168.226.255
        inet6 fe80::8805:f678:285c:a5c0  prefixlen 64  scopeid 0x20
        ether 00:0c:29:e7:21:88  txqueuelen 1000  (Ethernet)
        RX packets 258  bytes 67570 (65.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 140  bytes 16053 (15.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48  bytes 4080 (3.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 4080 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:ff:4f:c6  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 1). ens33: linux 宿主机的地址
  • 2). lo: local, 本地地址
  • 3). virbr0: 在CentOS7的安装过程中如果有选择相关虚拟化的的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡:它还有一个固定的默认IP地址192.168.122.1),是做虚拟机网桥的使用的,其作用是为连接其上的虚机网卡提供 NAT访问外网的功能。
    Linux安装在勾选安装系统的时候附带了libvirt服务才会生成的一个东西,如果不需要可以直接将libvirtd服务卸载,
yum remove libvirt-libs.x86_64
4.1.2 docker启动后,网络情况

会产生一个名为docker0的虚拟网桥

## 启动 docker
[root@vm001 admin]# systemctl start docker
[root@vm001 admin]# docker images
REPOSITORY                                                    TAG          IMAGE ID       CREATED         SIZE
orderservice6001                                              v1.1         f5c5e0bb8815   22 hours ago    685MB
## 查询 ip网络信息
[root@vm001 admin]# ifconfig
docker0: flags=4163  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:f5ff:fea1:eede  prefixlen 64  scopeid 0x20
        ether 02:42:f5:a1:ee:de  txqueuelen 0  (Ethernet)
        RX packets 31  bytes 2658 (2.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 52  bytes 18674 (18.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
## 其余省略

查看docker网络模式命令:docker network ls
--------- 默认创建三大网络模式

[root@vm001 admin]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
3f6c87b881bb   bridge    bridge    local
2e4dd2180dd1   host      host      local
4fdddc082793   none      null      local
[root@vm001 admin]# 
4.2 docker network 常用基本命令 4.2.1 全部 network 命令
[root@vm001 admin]# docker network --help

Usage:  docker network COMMAND

Manage networks

Commands:
  connect     Connect a container to a network
  create      Create a network
  disconnect  Disconnect a container from a network
  inspect     Display detailed information on one or more networks
  ls          List networks
  prune       Remove all unused networks
  rm          Remove one or more networks

Run 'docker network COMMAND --help' for more information on a command.
4.2.2 查看网络: docker network ls

在4.1.2 中有

4.2.3 创建和删除网络:

创建: docker network create

[root@vm001 admin]# docker network create aa_network
e810395831b1e5069e447c6730df76917dbb981c82e5519970c3d33965f463f3
[root@vm001 admin]# docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
e810395831b1   aa_network   bridge    local
3f6c87b881bb   bridge       bridge    local
2e4dd2180dd1   host         host      local
4fdddc082793   none         null      local

删除: docker network rm

[root@vm001 admin]# docker network rm aa_network 
aa_network
[root@vm001 admin]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
3f6c87b881bb   bridge    bridge    local
2e4dd2180dd1   host      host      local
4fdddc082793   none      null      local
4.2.3 查看网络源数据

docker network inspect XXX网络名字
如: docker network inspect bridge
显示出来的就是上面看到的 docker0 那个网桥

[root@vm001 admin]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
3f6c87b881bb   bridge    bridge    local
2e4dd2180dd1   host      host      local
4fdddc082793   none      null      local
[root@vm001 admin]# docker network inspect bridge
[
    {
        "Name": "bridge",
        "Id": "3f6c87b881bbceedca34897b2fa0794a52269d10de7dd0c84ab694a927325c5d",
        "Created": "2022-05-09T23:32:21.056937312+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.0.0/16",
                    "Gateway": "172.17.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "b014f0b061b4c39c5d13cfdcbc38e4cbb64cbb8c5939ba4fa2385cbd5628165b": {
                "Name": "suspicious_keldysh",
                "EndpointID": "1677be925e9c7c04a5a1651f48c16f62b7efca13d96c34e6c82c4607c0dd84f7",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            },
            "e2ddfc2abe317482bac74809279e91bbd91a55cbdc2a842720317993d0b1c091": {
                "Name": "zk01",
                "EndpointID": "304da47bd4bb8e0dafca3ebda522b5587e5d301a30e060dab9ce2c1ab56ab9a7",
                "MacAddress": "02:42:ac:11:00:03",
                "IPv4Address": "172.17.0.3/16",
                "IPv6Address": ""
            },
            "f27be7bd716acb811fd9d28fa4809e19a60c88db9cceefddafb3eae65a113ee8": {
                "Name": "consul",
                "EndpointID": "6d3d9798c592807b3c9a9a817d536ce860a28c455e69ccf1340216d0342f461e",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]
4.3 docker network 能解决什么问题

在单机模式不明显,但是在公司,需要作docker网络管理和容器调用之间的规划。
需要考虑使用常见的网络桥接模式还是其他模式等问题

  • 1). 容器间的互联和通信以及端口映射
  • 2). 容器IP变动时候可以通过服务名直接网络通信而不受到影响
4.4 docker network 的网络模式
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/870222.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号