(1)查看所有docker网络
[root@192 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
906745f21f2e bridge bridge local
6a374732ecfc host host local
23fd46efff7a none null local
[root@192 ~]#
网络模式:
- bridge:桥接模式(docker默认使用的网络连接模式)
- none:不配置网络
- host:主机模式,和宿主机共享网络
- containter:容器内网络连通
(2)创建docker自定义网络
默认参数
docker run -d -P --name tomcat01
等同于
docker run -d -P --name tomcat01 --net bridge tomcat -------------默认为docker0
自定义网络参数
[root@192 ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 dong_net
...
[root@192 ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
906745f21f2e bridge bridge local
e6fdaced2478 dong_net bridge local ------------自定义创建的网络
6a374732ecfc host host local
23fd46efff7a none null local
[root@192 ~]#
参数说明:
- --driver bridge:默认桥接
- --subnet 192.168.0.0/16:默认子网192.168.0.0
- --gateway:默认网关192.168.0.1
(3)查看dong_net
[root@192 ~]# docker network inspect dong_net
...
(4)将tomcat发布至dong_net
[root@192 ~]# docker run -d -P --name tomcat01_dong_net --net dong_net tomcat
...
[root@192 ~]# docker run -d -P --name tomcat02_dong_net --net dong_net tomcat
...
[root@192 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7e0d8f3500c1 tomcat "catalina.sh run" 4 seconds ago Up 3 seconds 0.0.0.0:49154->8080/tcp, :::49154->8080/tcp tomcat02_dong_net
ce29ca19391f tomcat "catalina.sh run" 10 seconds ago Up 8 seconds 0.0.0.0:49153->8080/tcp, :::49153->8080/tcp tomcat01_dong_net
[root@192 ~]# docker network inspect dong_net
...
(5)利用自定义的网络创建的容器可以通过容器名互相ping通
[root@192 ~]# docker exec -it tomcat01_dong_net ping tomcat02_dong_net
...
|