##这里列出了默认网络bridge、host和none三种网络,一般使用第一个默认网络
MacbookdeMacBook-Pro:~ macbookpro$ docker network ls
NETWORK ID NAME DRIVER SCOPE
72aa7fca430b bridge bridge local
3e026667db52 host host local
9241fcc54d87 none null local
启动容器
##这里示例连接到alpine(是一个轻量级的操作系统)
MacbookdeMacBook-Pro:~ macbookpro$ docker run -dit --name change1 alpine ash
MacbookdeMacBook-Pro:~ macbookpro$ docker run -dit --name change2 alpine ash
启动两个alpine容器运行ash,这是Alpine的默认shell而不是bash。该-dit标志意味着要首先分离容器
(背景),互动(与输入到它的能力),并与TTY(这样你就可以看到输入和输出)。由于您正在启
动它,因此您不会立即连接到容器。而是打印容器的ID。由于您尚未指定任何 --network标志,因此容
器将连接到默认bridge网络。
##查看启动情况
MacbookdeMacBook-Pro:~ macbookpro$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8b33163c2b20 alpine "ash" 3 minutes ago Up 3 minutes change2
5f8d6027a7d8 alpine "ash" 4 minutes ago Up 4 minutes change1
MacbookdeMacBook-Pro:~ macbookpro$ docker attach change1
/ # ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN qlen 1
link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN qlen 1
link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
923: eth0@if924: <BROADCAST,MULTICAST,UP,LOWER_UP,M-DOWN> mtu 1500 qdisc noqueue state UP
link/ether 02:42:ac:11:00:05 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.5/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
可以看出IP地址172.17.0.5,该地址与上一步中显示的地址相同
重复一次,查出change2容器的ip地址为172.17.0.X
ping网络,成功可以看出2个容器是可以互通的
/ # ping -c 2 172.17.0.6
PING 172.17.0.6 (172.17.0.6): 56 data bytes
64 bytes from 172.17.0.6: seq=0 ttl=64 time=0.131 ms
64 bytes from 172.17.0.6: seq=1 ttl=64 time=0.146 ms
--- 172.17.0.6 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.131/0.138/0.146 ms
自定义网络
MacbookdeMacBook-Pro:~ macbookpro$ docker network create change-network
MacbookdeMacBook-Pro:~ macbookpro$ docker network ls
NETWORK ID NAME DRIVER SCOPE
7fa66a150675 bridge bridge local
ebf8b9a1bda3 change-network bridge local
3e026667db52 host host local
9241fcc54d87 none null local
可以看到多了一条change-network的网络