1. 原有Linux查ip
ifconfigip addr
在CentOS 7的安装过程中如果有选择相关虚拟化的服务安装系统后,启动网卡时会发现有一个以网桥连接的私网地址的virbr0网卡(virbr0网卡:它还有一个固定的默认IP地址192.168.122.1),是做虚拟机网桥的使用的,其作用是为连接其上的虚拟机网卡提供NAT访问外网的功能。
我们之前学习Linux安装,勾选安装系统的时候附带了libvirt服务才会生成的一个东西,如果不需要可以直接将libvird服务卸载,yum remove libvirt-libs.x86_64。
在docker启动之后,会有一个docker0的虚拟网桥,docker0的默认ip地址172.17.0.1。
2. docker0
查看docker网络模式命令
docker network lsdocker network --help

3. docker network能干嘛
- 容器间的互联和通信以及端口映射
- 容器IP变动的时候可以通过服务名直接网络通信而不受影响。
4. docker network网络4种模式
| 网络模式 | 简介 | 使用方法 |
|---|---|---|
| bridge | 为每一个容器分配、设置IP等,并将容器连接到每一个docker0。虚拟网桥,默认为该模式。 | 使用—network bridge指定,默认使用docker0. |
| host | 容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。 | 使用—network host指定。 |
| none | 容器有独立的network namespace,但并没有对其进行任何网络设置,如分配veth pair和网桥连接,IP等。 | 使用—network none指定。 |
| container | 新创建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP、端口和范围等。 | 使用—network container:NAME或者容器id指定。 |
| 自定义网络 |
- docker容器内的ip地址是有可能会发生变动的。
- docker还可以自定义网络。
4.1 Bridge模式
4.2 host模式
直接使用宿主机的IP地址与外界进行通信,不再需要额外进行NAT转换。
此时的IP地址就是和主机的IP地址是一样的。
4.3 none模式

4.4 container模式



如果容器2使用容器1的网络,容器1如果停止了,那么容器2就只剩下lo网络了。
4.5 自定义网络
如果不用自定义网络,容器内通过ip是可以互通的。但是通过服务名却ping不通。
# 新建网络名docker network create zy_network# 查看现有网络名docker network ls# 用新建网络运行容器docker run -d -p 8081:8080 --netword zy_network --name tomcat81 bil/tomcat8-jdk8# 进入tomcat81docker exec -it tomcat81 bash# ping服务名,就能ping通了ping tomcat82
- 自定义网络本身就维护好了主机名和ip的对应关系(ip和域名都能通)。


