【Linux运维大神系列】docker详解(三)

目录

将多个网络加入到同一个容器中案例

1)创建多个网络

2)启动容器加入网络

3)测试c1和c2的连通性

4)将c1的容器添加一个c2容器相同的网络

5)再次测试连通性

6)断开网络

使用自定义网络部署zabbix实战

1)创建自定义网络

2)导入镜像

3)启动MySQL

[4)部署Java gateway组件](#4)部署Java gateway组件)

[5)部署Zabbix server组件](#5)部署Zabbix server组件)

[6)部署Zabbix web组件](#6)部署Zabbix web组件)

7)访问测试

macvlan实现容器跨主机网络互联

1)判断是否是否支持macvlan模块

2)两个节点创建同网段的自定义网络

3)10.0.0.101节点基于自定义网络启动容器并手动分配ip地址

4)10.0.0.102节点基于自定义网络启动容器并手动分配IP地址

5)测试两个容器的连通性

6)解决macvlan无法访问外网的情况

7)macvlan的优缺点

网络调试小技巧

将多个网络加入到同一个容器中案例

1)创建多个网络

bash 复制代码
[root@docker101 ~]#docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
8ce2d108ce71   bridge    bridge    local
dde83ce0ade1   host      host      local
d2b2e36d8f63   none      null      local

[root@docker101 ~]#docker network create -d bridge --gateway 172.21.0.254 --ip-range 172.21.100.0/24 --subnet 172.21.0.0/16 xixi
fbb92ec665212f96594ca4d2b27dc3d44da7fdeee81f47acbed67fcfa433650a
[root@docker101 ~]#docker network create -d bridge --gateway 172.22.0.254 --ip-range 172.22.100.0/24 --subnet 172.22.0.0/16 haha
cd032cf1d4fd599ac27fca34fd849be078d6e6aa256a9604c9acbbadb347bd59

[root@docker101 ~]#docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
8ce2d108ce71   bridge    bridge    local
cd032cf1d4fd   haha      bridge    local
dde83ce0ade1   host      host      local
d2b2e36d8f63   none      null      local
fbb92ec66521   xixi      bridge    local

[root@docker101 ~]#docker network inspect xixi
[
    {
        "Name": "xixi",
        "Id": "fbb92ec665212f96594ca4d2b27dc3d44da7fdeee81f47acbed67fcfa433650a",
        "Created": "2025-12-20T19:22:47.760009196+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.21.0.0/16",
                    "IPRange": "172.21.100.0/24",
                    "Gateway": "172.21.0.254"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]
[root@docker101 ~]#docker network inspect haha
[
    {
        "Name": "haha",
        "Id": "cd032cf1d4fd599ac27fca34fd849be078d6e6aa256a9604c9acbbadb347bd59",
        "Created": "2025-12-20T19:23:39.86819877+08:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "172.22.0.0/16",
                    "IPRange": "172.22.100.0/24",
                    "Gateway": "172.22.0.254"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]

2)启动容器加入网络

bash 复制代码
[root@docker101 ~]#docker run -d --name c1 --network xixi registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
05216d220bb0c90f87eb36276142a9c44fd1c19f772b1754950137bfc0ab5c1a
[root@docker101 ~]#docker exec c1 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:15:64:00  
          inet addr:172.21.100.0  Bcast:172.21.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13 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:1102 (1.0 KiB)  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: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)

[root@docker101 ~]#docker run -d --name c2 --network haha registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
90743906755fccd65e66323184d4efb527fdd345180ad394f06a304baf7059d6
[root@docker101 ~]#docker exec c2 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:16:64:00  
          inet addr:172.22.100.0  Bcast:172.22.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13 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:1102 (1.0 KiB)  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: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)

[root@docker101 ~]#docker exec c2 route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.22.0.254    0.0.0.0         UG    0      0        0 eth0
172.22.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

3)测试c1和c2的连通性

bash 复制代码
[root@docker101 ~]#docker exec -it c1 sh
/ # ping -c 3 c2
ping: bad address 'c2'
/ # ping 172.22.100.0 -c 3
PING 172.22.100.0 (172.22.100.0): 56 data bytes

--- 172.22.100.0 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
/ # 
/ # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.21.0.254    0.0.0.0         UG    0      0        0 eth0
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

4)将c1的容器添加一个c2容器相同的网络

bash 复制代码
[root@docker101 ~]#docker network connect haha c1
[root@docker101 ~]#docker exec c1 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:15:64:00  
          inet addr:172.21.100.0  Bcast:172.21.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1462 (1.4 KiB)  TX bytes:502 (502.0 B)

eth1      Link encap:Ethernet  HWaddr 02:42:AC:16:64:01  
          inet addr:172.22.100.1  Bcast:172.22.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 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:656 (656.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:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:342 (342.0 B)  TX bytes:342 (342.0 B)

[root@docker101 ~]#docker exec c1 route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.22.0.254    0.0.0.0         UG    0      0        0 eth1
172.21.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
172.22.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1

选项参数:
    connect    给容器连接网络

5)再次测试连通性

bash 复制代码
[root@docker101 ~]#docker exec c1 ping -c 3 c2
PING c2 (172.22.100.0): 56 data bytes
64 bytes from 172.22.100.0: seq=0 ttl=64 time=0.094 ms
64 bytes from 172.22.100.0: seq=1 ttl=64 time=0.139 ms
64 bytes from 172.22.100.0: seq=2 ttl=64 time=0.136 ms

--- c2 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.094/0.123/0.139 ms

6)断开网络

bash 复制代码
[root@docker101 ~]#docker network disconnect haha c1
[root@docker101 ~]#docker exec c1 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:15:64:00  
          inet addr:172.21.100.0  Bcast:172.21.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:17 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1462 (1.4 KiB)  TX bytes:502 (502.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:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:552 (552.0 B)  TX bytes:552 (552.0 B)

使用自定义网络部署zabbix实战

1)创建自定义网络

bash 复制代码
[root@docker101 ~]#docker network create --subnet 172.20.0.0/16 --ip-range 172.20.240.0/20 zabbix-net
961b7eb6b0d51af5bd6938e337b205f6f3650ea829443af520acb65bf7ae7fa8
[root@docker101 ~]#docker network ls
NETWORK ID     NAME         DRIVER    SCOPE
8ce2d108ce71   bridge       bridge    local
dde83ce0ade1   host         host      local
d2b2e36d8f63   none         null      local
961b7eb6b0d5   zabbix-net   bridge    local

2)导入镜像

镜像地址:

bash 复制代码
[root@docker101 ~]#ll zabbix-*
-rw-r--r-- 1 root root 193296384 Dec 20 19:55 zabbix-java-gateway-alpine-6.4.tar.gz
-rw-r--r-- 1 root root 136943104 Dec 20 19:55 zabbix-server-mysql-alpine-6.4.tar.gz
-rw-r--r-- 1 root root 292524544 Dec 20 19:55 zabbix-web-alpine-6.4.tar.gz

[root@docker101 ~]#for i in `ls zabbix-*`;do docker load -i $i;done 
d4fc045c9e3a: Loading layer [==================================================>]  7.667MB/7.667MB
f4529b02c8e0: Loading layer [==================================================>]  40.45kB/40.45kB
db2720f1c08a: Loading layer [==================================================>]  760.8kB/760.8kB
6642e17108b7: Loading layer [==================================================>]  184.8MB/184.8MB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
b136ab711cff: Loading layer [==================================================>]  4.096kB/4.096kB
fd1ad11f4867: Loading layer [==================================================>]  3.584kB/3.584kB
Loaded image: zabbix/zabbix-java-gateway:alpine-6.4-latest
bcbf9ca50797: Loading layer [==================================================>]      5MB/5MB
1a18e0eb96fb: Loading layer [==================================================>]  162.3kB/162.3kB
92c2fb89656e: Loading layer [==================================================>]    299kB/299kB
8a5ec5d65e86: Loading layer [==================================================>]  30.21kB/30.21kB
192c33ef2bd0: Loading layer [==================================================>]  4.063MB/4.063MB
78710a7f5759: Loading layer [==================================================>]  119.7MB/119.7MB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
3c92399c83d5: Loading layer [==================================================>]  24.58kB/24.58kB
Loaded image: zabbix/zabbix-server-mysql:alpine-6.4-latest
58a84e545022: Loading layer [==================================================>]  101.2MB/101.2MB
8af2c5fb054f: Loading layer [==================================================>]  27.65kB/27.65kB
8c49e81e37bf: Loading layer [==================================================>]  183.6MB/183.6MB
5f70bf18a086: Loading layer [==================================================>]  1.024kB/1.024kB
930007238e23: Loading layer [==================================================>]  12.29kB/12.29kB
Loaded image: zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest

3)启动MySQL

bash 复制代码
[root@docker101 ~]#docker run --name mysql-server \
> -e MYSQL_DATABASE="zabbix" \
> -e MYSQL_USER="joren" \
> -e MYSQL_PASSWORD="j.20030704" \
> -e MYSQL_ROOT_PASSWORD="123456" \
> --network zabbix-net \
> --restart unless-stopped \
> -d mysql\:8.3.0-oracle \
> --character-set-server=utf8 --collation-server=utf8_bin \
> --default-authentication-plugin=mysql_native_password
c1b59a73d085bb2621bbde1a7163779abacf38924eeb8e34f26965c1dbc73b86

4)部署Java gateway组件

bash 复制代码
[root@docker101 ~]#docker run --name zabbix-java-gateway \
> --network zabbix-net \
> --restart unless-stopped \
> -d zabbix/zabbix-java-gateway:alpine-6.4-latest
1e2b80a4a92405418419248d1140731cd81694100e4ba286eec6904092ed0761

5)部署Zabbix server组件

bash 复制代码
[root@docker101 ~]#docker run --name zabbix-server-mysql \
> -e DB_SERVER_HOST="mysql-server" \
> -e MYSQL_DATABASE="zabbix" \
> -e MYSQL_USER="joren" \
> -e MYSQL_PASSWORD="j.20030704" \
> -e MYSQL_ROOT_PASSWORD="123456" \
> -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
> --network=zabbix-net \
> -p 10051:10051 \
> --restart unless-stopped \
> -d zabbix/zabbix-server-mysql:alpine-6.4-latest
d7d28d96937651532e12071460d80c0aef6fc2cbf5e9f1ca82edb1ab39d82c16

6)部署Zabbix web组件

bash 复制代码
[root@docker101 ~]#docker run --name zabbix-web-nginx-mysql \
> -e ZBX_SERVER_HOST="zabbix-server-mysql" \
> -e DB_SERVER_HOST="mysql-server" \
> -e MYSQL_DATABASE="zabbix" \
> -e MYSQL_USER="joren" \
> -e MYSQL_PASSWORD="j.20030704" \
> -e MYSQL_ROOT_PASSWORD="123456" \
> --network=zabbix-net \
> -p 88:8080 \
> --restart unless-stopped \
> -d zabbix/zabbix-web-nginx-mysql:alpine-6.4-latest
39e09818258ecd801f516af2c40ae9431fc4409cddd88d989bb73ecec72d49ef

7)访问测试

macvlan实现容器跨主机网络互联

1)判断是否是否支持macvlan模块

bash 复制代码
[root@docker101 ~]#lsmod |grep macvlan
[root@docker101 ~]#modprobe macvlan
[root@docker101 ~]#lsmod |grep macvlan
macvlan                19239  0 


[root@docker102 ~]#lsmod |grep macvlan
[root@docker102 ~]#modprobe macvlan
[root@docker102 ~]#lsmod |grep macvlan
macvlan                19239  0 

2)两个节点创建同网段的自定义网络

bash 复制代码
[root@docker101 ~]#docker network create -d macvlan --subnet 172.29.0.0/16 --gateway 172.29.0.254 -o parent=eth0 joren-macvlan
be61df1b7436c5af0fafe17c3779cd55f3aa746bbf6f91c985969a76924d1b36
[root@docker101 ~]#docker network ls
NETWORK ID     NAME            DRIVER    SCOPE
8ce2d108ce71   bridge          bridge    local
dde83ce0ade1   host            host      local
be61df1b7436   joren-macvlan   macvlan   local
d2b2e36d8f63   none            null      local

3)10.0.0.101节点基于自定义网络启动容器并手动分配ip地址

bash 复制代码
[root@docker101 ~]#docker run -d --name c1 -it --network joren-macvlan --ip 172.29.0.101 registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
6a905f33f4a282298ac432aee23c23094d51180a8d64a5745b33764c4b5f853f
[root@docker101 ~]#docker exec c1 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:1D:00:65  
          inet addr:172.29.0.101  Bcast:172.29.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING 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)

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: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)

4)10.0.0.102节点基于自定义网络启动容器并手动分配IP地址

bash 复制代码
[root@docker102 ~]#docker run -d --name c2 -it --network joren-macvlan --ip 172.29.0.102 registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1
1af9d7357b6ca8d976c6c530365b5753ac4c8c67b5c1d43a8d4d0328a5077b77
[root@docker102 ~]#docker exec c2 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:1D:00:66  
          inet addr:172.29.0.102  Bcast:172.29.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING 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)

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: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)

5)测试两个容器的连通性

bash 复制代码
[root@docker101 ~]#docker exec c1 ping -c3 172.29.0.102    #连通成功
PING 172.29.0.102 (172.29.0.102): 56 data bytes
64 bytes from 172.29.0.102: seq=0 ttl=64 time=0.907 ms
64 bytes from 172.29.0.102: seq=1 ttl=64 time=0.488 ms
64 bytes from 172.29.0.102: seq=2 ttl=64 time=0.576 ms

--- 172.29.0.102 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.488/0.657/0.907 ms
[root@docker101 ~]#docker exec c1 ping -c3 www.baidu.com    #无法访问外网
ping: bad address 'www.baidu.com'

6)解决macvlan无法访问外网的情况

bash 复制代码
[root@docker102 ~]#docker network connect bridge c2    #添加一个能够访问外网的网络类型
[root@docker102 ~]#docker exec c2 ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:1D:00:66  
          inet addr:172.29.0.102  Bcast:172.29.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1017 (1017.0 B)  TX bytes:378 (378.0 B)

eth1      Link encap:Ethernet  HWaddr 02:42:AC:11:00:02  
          inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 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:656 (656.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: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)

    
[root@docker102 ~]#docker exec c2 ping -c3 baidu.com    #访问外网成功
PING baidu.com (111.63.65.247): 56 data bytes
64 bytes from 111.63.65.247: seq=0 ttl=127 time=50.940 ms
64 bytes from 111.63.65.247: seq=1 ttl=127 time=49.047 ms
64 bytes from 111.63.65.247: seq=2 ttl=127 time=49.289 ms

--- baidu.com ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss    
round-trip min/avg/max = 49.047/49.758/50.940 ms

7)macvlan的优缺点

优点:

1.docker原生支持,无需安装额外插件,配置起来相对简单

2.适合小规模docker环境,例如只有1-3台,如果服务器过多,手动分配ip地址可能会增加工作量

缺点:

1.需要手动分配IP地址,如果让其自动分配IP地址可能会存在多个主机自动分配的IP地址冲突的情况,到时候还需要人工介入

2.本机相同网络的容器之间相互通信没问题,但是容器无法访问宿主机也无法访问外网

3.macvlan需要绑定一块物理网卡,若网卡已经被绑定,则无法创建

网络调试小技巧

bash 复制代码
假如我们的wp容器没有ping命令,无法查看是否连通,可以使用container:wp方法
root@docker101:~# docker container inspect -f "{{range .NetworkSettings.Networks}} {{ .IPAddress }} {{end}}" `docker container ps -lq`
 172.17.0.2  172.22.100.37 
root@docker101:~# 
root@docker101:~# docker run -it --rm --network container:wp registry.cn-hangzhou.aliyuncs.com/yinzhengjie-k8s/apps:v1 sh
/ # 
/ # ifconfig 
eth0      Link encap:Ethernet  HWaddr 02:42:AC:16:64:25  
          inet addr:172.22.100.37  Bcast:172.22.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2637 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2991 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1089580 (1.0 MiB)  TX bytes:1984963 (1.8 MiB)
 
eth1      Link encap:Ethernet  HWaddr 02:42:AC:11:00:02  
          inet addr:172.17.0.2  Bcast:172.17.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4126 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3682 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:28867794 (27.5 MiB)  TX bytes:1343468 (1.2 MiB)
 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:228 errors:0 dropped:0 overruns:0 frame:0
          TX packets:228 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:18635 (18.1 KiB)  TX bytes:18635 (18.1 KiB)
 
/ #  
/ # 
/ # ping 172.22.100.36 -c 3
PING 172.22.100.36 (172.22.100.36): 56 data bytes
64 bytes from 172.22.100.36: seq=0 ttl=64 time=0.448 ms
64 bytes from 172.22.100.36: seq=1 ttl=64 time=0.389 ms
64 bytes from 172.22.100.36: seq=2 ttl=64 time=0.298 ms
 
--- 172.22.100.36 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.298/0.378/0.448 ms
/ #
相关推荐
UP_Continue13 分钟前
Linux--进程控制
linux·运维·服务器
请输入蚊子13 分钟前
«操作系统真像还原» 第二章 编写MBR主引导记录
linux·汇编·操作系统·bochs·操作系统真像还原
等什么君!31 分钟前
docker -数据卷技术
运维·docker·容器
188号安全攻城狮1 小时前
【PWN】HappyNewYearCTF_8_ret2csu
linux·汇编·安全·网络安全·系统安全
上天_去_做颗惺星 EVE_BLUE1 小时前
Docker高效使用指南:从基础到实战模板
开发语言·ubuntu·docker·容器·mac·虚拟环境
Yana.nice2 小时前
openssl将证书从p7b转换为crt格式
java·linux
AI逐月2 小时前
tmux 常用命令总结:从入门到稳定使用的一篇实战博客
linux·服务器·ssh·php
小白跃升坊3 小时前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey3 小时前
【Linux】线程同步与互斥
linux·笔记
杨江3 小时前
seafile docker安装说明
运维