docker 网络通讯

目录

1.docker 查看网络

2.docker 创建网桥

3.查看创建的网桥的具体信息

4.删除一个网络

5.多个容器中的网络通讯

5.1 .启动之前明确使用那个网络

5.2.启动之后容器加入某个网络

5.3 自定义网络之间可以使用容器名称进行通讯


 

1.docker 查看网络

[root@localhost elasticsearch]# docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
368e348b1536   bridge    bridge    local
6ef98856144b   host      host      local
af42a44abc32   none      null      local

bridge 代表网桥  host代表本机使用不与其他容器联系基本没啥用 null一样

2.docker 创建网桥

docker network create -d 类型 网桥名称

[root@localhost elasticsearch]# docker network create -d bridge network01
f1e7384e480b8be8b3fa306107bdad5efc8e501e5ae98b10e635d281ac7d49a0

查看创建结果:

[root@localhost elasticsearch]# docker network ls
NETWORK ID     NAME        DRIVER    SCOPE
368e348b1536   bridge      bridge    local
6ef98856144b   host        host      local
f1e7384e480b   network01   bridge    local
af42a44abc32   none        null      local

3.查看创建的网桥的具体信息

[root@localhost elasticsearch]# docker network inspect network01
[
    {
        "Name": "network01",
        "Id": "f1e7384e480b8be8b3fa306107bdad5efc8e501e5ae98b10e635d281ac7d49a0",
        "Created": "2023-07-18T18:02:08.389552908+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]

4.删除一个网络

docker network rm 网络名

docker network prune 删除所有未被使用的网络

5.多个容器中的网络通讯

5.1 .启动之前明确使用那个网络

#运行时候添加到某个网络

docker run -d -p hostPort:containerPort --network 网络名称 ......

#通过以下语句可以查看network01网络中的具体容器的IP信息

docker network inspect network01

5.2.启动之后容器加入某个网络

docker network connect  网络名称 容器名称|id

docker network inspect network01

5.3 自定义网络之间可以使用容器名称进行通讯

比如 tomcat01 和 tomcat02都是在network01网络中

#创建tomcat01 和tomcat02容器 在network01 中

docker run -d -p 8080:8080 --name tomcat01 --network network01 tomcat:8.0

docker run -d -p 8081:8080 --name tomcat02 --network network01 tomcat:8.0

#查看network01的网络 是否包含了tomcat01和tomcat02网络

docker network inspect network01

#进入tomcat01   

docker exec -it tomcat01 /bin/bash

#访问tomcat02

curl http://tomcat02:8080

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值