将容器连接到默认桥接网络
1.列出当前已有的网络
[root@host1 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
db2f3a6af212 bridge bridge local
4251d9be020b host host local
ba96ad98e029 none null local
2.启动两个 ash ( Alpine 操作系统默的认 Shell )的 Alpine 容器
[root@host1 ~]# docker run -dit --name alpine1 alpine ash
Unable to find image 'alpine:latest' locally
latest: Pulling from library/alpine
9824c27679d3: Pull complete
Digest: sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1
Status: Downloaded newer image for alpine:latest
416a7a0cc2472bc5b19cdd4d176f794e42f9f0ccb597a1a5ff0ec3102b45550c
[root@host1 ~]# docker run -dit --name alpine2 alpine ash
3af02021ac727a3eb6bc2d7a62c25abceb812e02af41ec3dd5882b3ec45a1e9f
3.检查两个容器是否已经启动
[root@host1 ~]# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3af02021ac72 alpine "ash" 23 seconds ago Up 22 seconds alpine2
416a7a0cc247 alpine "ash" About a minute ago Up About a minute alpine1
0dbf7ea2178e registry "/entrypoint.sh /etc…" 32 hours ago Up 3 minutes 0.0.0.0:5000->5000/tcp, [::]:5000->5000/tcp myregistry
4.查看桥接网络的详细信息
[root@host1 ~]# docker network inspect bridge
[{"Name": "bridge","Id": "db2f3a6af212de490f7bd8a74d205b3b17c75a9dad474e7295061a27fd46c681","Created": "2025-09-11T23:15:23.257609948+08:00","Scope": "local","Driver": "bridge","EnableIPv4": true,"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": {"0dbf7ea2178e94893974afab55dec16b2682c9b8038c4dfcd6c6a94f2e01845d": {"Name": "myregistry","EndpointID": "04a0e63ecd2e9df4f9229a590a1eb225b8ffa20a61bf34cf59b7028b370da02d","MacAddress": "ba:c1:c7:1e:98:8f","IPv4Address": "172.17.0.2/16","IPv6Address": ""},"3af02021ac727a3eb6bc2d7a62c25abceb812e02af41ec3dd5882b3ec45a1e9f": {"Name": "alpine2","EndpointID": "e52a58ee004da45342e30e622323cdf978ae2ac2551bc45755ca3fea790d289a","MacAddress": "5e:ef:46:89:98:ad","IPv4Address": "172.17.0.4/16","IPv6Address": ""},"416a7a0cc2472bc5b19cdd4d176f794e42f9f0ccb597a1a5ff0ec3102b45550c": {"Name": "alpine1","EndpointID": "70010907049ba7b00ae110451a17111a2dde18bebd86a7a46c555142acf5e2a8","MacAddress": "42:dc:75:72:f7:6c","IPv4Address": "172.17.0.3/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": {}}
]
5.连接 alpine1 容器
[root@host1 ~]# docker attach alpine1
/ # ip addr show (显示 alpine1 容器的网络接口)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP link/ether 42:dc:75:72:f7:6c brd ff:ff:ff:ff:ff:ffinet 172.17.0.3/16 brd 172.17.255.255 scope global eth0valid_lft forever preferred_lft forever
6.连接外网
/ # ping -c 2 www.baidu.com
PING www.baidu.com (110.242.69.21): 56 data bytes
64 bytes from 110.242.69.21: seq=0 ttl=127 time=50.401 ms
64 bytes from 110.242.69.21: seq=1 ttl=127 time=52.453 ms--- www.baidu.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 50.401/51.427/52.453 ms
7.尝试 ping alpine2 容器
/ # ping -c 2 172.17.0.4
PING 172.17.0.4 (172.17.0.4): 56 data bytes
64 bytes from 172.17.0.4: seq=0 ttl=64 time=0.052 ms
64 bytes from 172.17.0.4: seq=1 ttl=64 time=0.072 ms--- 172.17.0.4 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.052/0.062/0.072 ms
/ # ping -c 2 alpine2
ping: bad address 'alpine2'
表示 ping 不通,不能通过容器名来访问
8.摆脱 alpine1 容器而不要让他停止
Ctrl + P + Q
9.停止并删除这两个容器
[root@host1 ~]# docker container stop alpine1 alpine2
alpine1
alpine2
[root@host1 ~]# docker container rm alpine1 alpine2
alpine1
alpine2