简介
说明
本文介绍Docker的网络的配置。
官网网址
https://docs.docker.com/engine/reference/commandline/network/
网络的默认设置
Docker启动之后,系统中会产生一个名为docker0的虚拟网桥,会默认创建三个网络:bridge、host、none。
网络模式 | 简介 |
bridge | 为每一个容器分配、设置IP等,并将容器连接到docker0虚拟网桥,默认为该模式。 |
host | 容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。 |
none | 容器有独立的Network namespace,但并没有对其进行任何网络设置,如分配 veth pair和网桥连接,IP等。 |
container | 新建的容器不会创建自己的网卡和配置自己的IP,而是和一个指定的容器共享IP、端口范围等。 |
指定网络模式的方式(以bridge为例)
docker:–network bridge
容器与非容器网络互通
假如有两个应用:A、B。A不是用docker部署的,B是用docker部署的。网络连通有下边两种方式:
法1:A应用里指定B应用的IP和端口:docker0的ip:容器的端口。比如:172.17.0.1:8080
法2:B应用里指定A应用的IP和端口:宿主机的ip:应用的端口。比如:192.168.80.128:6379
自定义网络
可以使用docker network create来创建自定义网络,自定义网络默认使用的是桥接网络bridge。
docker network create my-network
可以在自定义的网络下运行两个容器实例:
docker run -d -p xxx:xxx--network my-network --name c1 xxx docker run -d -p xxx:xxx--network my-network --name c2 xxx
在两个容器 c1、c2 中互相ping(使用容器名,而不是IP),成功连通!
自定义网络本身就维护好了主机名和ip的对应关系(ip和域名都能通)。
请先
!