Docker19:自定义网络

自定义网络


请添加图片描述

网络模式

  • bridge:桥接 docker(默认,自己创建也适用bridge模式)
  • none:不配置网络
  • host:和宿主机共享网络
  • container:容器网络连通!(用的少!局限性很大)
bridge请添加图片描述

请添加图片描述
docker0默认就是bridge

host

请添加图片描述

none

请添加图片描述

自定义的网络

请添加图片描述


只能按ip ping通,不能按服务名ping通
请添加图片描述

测试

请添加图片描述
请添加图片描述

# 自定一个网络!
#--driver bridge   桥接网络
#--subnet 192.168.0.0/16  192.168.0.2--192.168.255.255            子网  16为是65535  24位是255
#--gateway 192.168.0.1   网关,相当于路由器
docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynetdfd122edf36bceaf27bf1c8fb0c2701638228f04ca5e0842d4fa6a248da90642
docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
a3d682b6c914   bridge    bridge    local
667cea2f4d50   host      host      local
dfd122edf36b   mynet     bridge    local
eb37be31f571   none      null      local

我们自己的网络就创建好了!
请添加图片描述

测试

docker run -d -P --name tomcat-net-01 --net mynet tomcat
docker run -d -P --name tomcat-net-02 --net mynet tomcat
fb429fd685a2cb0e094a6f6a956ad5df989f0178a8512c3b1f113335dae5dff2
docker network inspect mynet
[
    {
        "Name": "mynet",
        "Id": "dfd122edf36bceaf27bf1c8fb0c2701638228f04ca5e0842d4fa6a248da90642",
        "Created": "2022-09-01T21:50:12.676872348+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.0.0/16",
                    "Gateway": "192.168.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "b34a586ecedf361bbfd67db560f19f6767a79f11a43e02b612a2e961acd1d799": {
                "Name": "tomcat-net-01",
                "EndpointID": "a529fdc75f02d8c3522ce960f61bc3c95ccc075718f2db5b16267c779c72ebf9",
                "MacAddress": "02:42:c0:a8:00:02",
                "IPv4Address": "192.168.0.2/16",
                "IPv6Address": ""
            },
            "fb429fd685a2cb0e094a6f6a956ad5df989f0178a8512c3b1f113335dae5dff2": {
                "Name": "tomcat-net-02",
                "EndpointID": "99a7c118a97e78b3c5ebcbbd03189d24951ac8fe7d542433511d2f2477a0ea3a",
                "MacAddress": "02:42:c0:a8:00:03",
                "IPv4Address": "192.168.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

#### 现在不使用--link,也可以ping + 名字 
docker exec -it tomcat-net-01 ping 192.168.0.3
PING 192.168.0.3 (192.168.0.3) 56(84) bytes of data.
64 bytes from 192.168.0.3: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from 192.168.0.3: icmp_seq=2 ttl=64 time=0.037 ms
64 bytes from 192.168.0.3: icmp_seq=3 ttl=64 time=0.041 ms
64 bytes from 192.168.0.3: icmp_seq=4 ttl=64 time=0.042 ms

docker exec -it tomcat-net-01 ping tomcat-net-02
PING tomcat-net-02 (192.168.0.2) 56(84) bytes of data.
64 bytes from tomcat-net-02.mynet (192.168.0.2): icmp_seq=1 ttl=64 time=0.090 ms
64 bytes from tomcat-net-02.mynet (192.168.0.2): icmp_seq=2 ttl=64 time=0.045 ms

我们自定义的网络 dockeri都已经帮我们维护好了对应的关系,推荐我们平时这样使用网络!

好处

  • redis-不同的集群使用不同的网络,保证集群是安全和健康的
  • mysql-不同的集群使用不同的网络,保证集群是安全和健康的
    请添加图片描述
    保证了不同的集群之间的隔离,但是这种隔离状态也是可以打通的

请添加图片描述

整体说明

从其架构和运行流程来看,Docker 是一个 C/S 模式的架构,后端是一个松耦合架构,众多模块各司其职。

Docker 运行的基本流程为:

1 用户是使用 Docker Client 与 Docker Daemon 建立通信,并发送请求给后者。
2 Docker Daemon 作为 Docker 架构中的主体部分,首先提供 Docker Server 的功能使其可以接受 Docker Client 的请求。
3 Docker Engine 执行 Docker 内部的一系列工作,每一项工作都是以一个 Job 的形式的存在。
4 Job 的运行过程中,当需要容器镜像时,则从 Docker Registry 中下载镜像,并通过镜像管理驱动 Graph driver将下载镜像以Graph的形式存储。
5 当需要为 Docker 创建网络环境时,通过网络管理驱动 Network driver 创建并配置 Docker 容器网络环境。
6 当需要限制 Docker 容器运行资源或执行用户指令等操作时,则通过 Execdriver 来完成。
7 Libcontainer是一项独立的容器管理包,Network driver以及Exec driver都是通过Libcontainer来实现具体对容器进行的操作。

请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值