docker之自定义网络
1,查看所有的网络
2,网络模式
bridge:桥接,就是在docker上面搭桥(给其他容器)
none:不配置网络
host:主机模式,和宿主机共享网络
container:容器内网络连通(用的少,局限很大!)
我们自己创建网络也是用桥接!
3,测试:
[root@CentOs ~]# docker network --help
Usage: docker network COMMAND
Manage networks
Commands:
connect Connect a container to a network
create Create a network
disconnect Disconnect a container from a network
inspect Display detailed information on one or more networks
ls List networks
prune Remove all unused networks
rm Remove one or more networks
Run 'docker network COMMAND --help' for more information on a command.
[root@CentOs ~]#
我们原来是这样启动的,这里有一个默认的参数“ --net bridge”
docker run -d -P --name tomcat01 --net bridge tomcat
docker0的特点:
(1),默认
(2),不能访问域名(通过--link打通连接!)
我们可以自定义一个网络!
4,创建一个网络
先找到帮助文档
开始创建:
[root@CentOs ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
55f2b7a7e2eb2539fe0f729ffdcfa0f33ad66f76c7d82b2ed7ba9dec146dc489
[root@CentOs ~]#
--subnet:子网掩码
--gateway:网关
查看自己创建的网络:
[root@CentOs ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
9b5fbd14678b bridge bridge local
98f0f85bc99b host host local
55f2b7a7e2eb mynet bridge local
6dd89163a6b3 none null local
[root@CentOs ~]#
5,利用自己创建的容器启动01和02
[root@CentOs ~]# docker run -d -P --name tomcat-net-01 --net mynet tomcat
6bbb9dc26b8490b054ec7a3743663051017bda313922ee02b66e60546afa5826
[root@CentOs ~]# docker run -d -P --name tomcat-net-02 --net mynet tomcat
009bac96ba22473b54f6765a653dad5efd170e1e35ae783dc44a41864dee9cd3
[root@CentOs ~]#
看一下自己的网络
6,为什么要自定义网络
可以 直接通过域名ping通(不需要--link了!)
我们自定义的网络docker都已经帮我们维护好了对应的关系,推荐平时这样使用网络
好处:
例如,
Redis -不同的集群使用不同的网络,保证集群是健康和安全的!
MySQL -不同的集群使用不同的网络,保证集群是健康和安全的!
如果想要容器自定义的网络打通,这就是网络连通!