一、简介
1.docker的虚拟网卡
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:21:58:54:d8 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:21ff:fe58:54d8/64 scope link
valid_lft forever preferred_lft forever
2.三大网络模式
[root@lizj ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
6094c1d0fbe1 bridge bridge local
cdbf80f287ba host host local
db1baa4a70c9 none null local
bridge模式:使用--network bridge
指定,默认使用docker0
host模式:使用--network host
指定
none模式:使用--network none
指定
container模式:使用--network container:NAME或者容器ID
指定
3.基本命令
查看网络docker network Is
查看网络源数据docker network inspect XXX网络名字
删除网络docker network rm XXX网络名字
二、自定义网络
创建网卡(默认为桥接模式):docker network create lzj_network
创建容器时自定义网卡:docker -d -p 8080:8081 --network lzj_network --name docker1 centosjava8
[root@lizj ~]# docker run -it --network lzj_network --name docker1 billygoo/tomcat8-jdk8 /bin/bash
root@084986fee7bc:/usr/local/tomcat# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
97: eth0@if98: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:12:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.18.0.2/16 brd 172.18.255.255 scope global eth0
valid_lft forever preferred_lft forever
root@084986fee7bc:/usr/local/tomcat# [root@lizj ~]# docker run -it --network lzj_network --name docker2 billygoo/tomcat8-jdk8 /bin/bash
root@6dee2c2cc66f:/usr/local/tomcat# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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
99: eth0@if100: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:ac:12:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 172.18.0.3/16 brd 172.18.255.255 scope global eth0
valid_lft forever preferred_lft forever
root@6dee2c2cc66f:/usr/local/tomcat# ping docker 1
^C
root@6dee2c2cc66f:/usr/local/tomcat# ping docker1
PING docker1 (172.18.0.2) 56(84) bytes of data.
64 bytes from docker1.lzj_network (172.18.0.2): icmp_seq=1 ttl=64 time=0.124 ms
64 bytes from docker1.lzj_network (172.18.0.2): icmp_seq=2 ttl=64 time=0.050 ms
可以观察到自定义网卡,可以用容器名进行通信