目录
网络模式
bridge模式(默认模式)
host模式(仅主机模式)
初识网络模式
查看桥接模式
查看仅主机模式的特点
host模式
自定义网络
数据卷挂载tomcat
4.2自定义网络
网络模式
bridge模式(默认模式)
docker run时使用–net=bridge,这种模式会为每个容器分配一个独立的Network Namespace,
同一个宿主机上的所有容器会在同一个网段下,相互之间是可以通信的
注1:bridge为默认模式,不需要使用参数–net去指定,使用了–net参数反而无效
注2:bridge模式无法指定容器IP(但非绝对,还是可以修改滴)
host模式(仅主机模式)
docker run时使用–net=host,容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口
docker run -itd --net=host 961769676411
注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的
初识网络模式
#查看网络模式
ip a
ifconfig
#Docker网络模式相关命令查看
docker network --help
#列出Docker现有网络模式
docker network ls
#查看桥接模式下的网络状态
docker network inspect bridge
#Docker网络模式相关命令查看
docker network --help
#列出Docker现有网络模式
docker network ls
#查看桥接模式下的网络状态
docker network inspect bridge
查看桥接模式
特点:可以启动多个,适合集群,会分配虚拟ip
启动一个容器
docker run -di centos:7
再启动一个容器
docker run -di --name c1 centos:7
查看仅主机模式的特点
特点:只能有一个,适合单体应用,不会分配虚拟ip
docker run -di --name c1 --net=host --restart=always centos:7
docker network inspect host
可以看到不会分配虚拟IP
二、bridge模式
删除所有容器
docker rm -f $(docker ps -aq)
docker run -di --name t1 -p 8081:8080 92ddac4a0c45
#--restart=always容器随着Docker引擎启动而启动
docker run -di --name t2 --restart=always -p 8082:8080 92ddac4a0c45
通过8081端口可以访问tomcat
docker run -di --name t1 -p 8081:8080 92ddac4a0c45
#–restart=always容器随着Docker引擎启动而启动
通过8082启动tomcat
docker run -di --name t2 --restart=always -p 8082:8080 92ddac4a0c45
host模式
docker run -di --name t3 --net=host --restart=always 92ddac4a0c45
docker run时使用–net=host,容器将不会虚拟出IP/端口,而是使用宿主机的IP和端口
注1:host模式不能使用端口映射和自定义路由规则,这些都与主机一致,-p 与-icc 参数是无效的
docker run -di --name t3 --net=host --restart=always 92ddac4a0c45
自定义网络
数据卷挂载tomcat
docker run -di --name t98 -v /home/javaxy/ruanjian/mydocker/:/home/javaxy/docker -p 8083:8080 --restart=always 92ddac4a0c45
4.2自定义网络
#创建自定义网络
docker network create --subnet=172.18.0.0/16 mynetwork
docker run -it --name t677 --net=mynetwork -v /home/javaxy/ruanjian/mydocker/:/home/javaxy/docker --ip 172.18.0.8 92ddac4a0c45 /bin/bash
#查看网络
docker network inspect mynetwork
#创建自定义网络
docker network create --subnet=172.18.0.0/16 mynetwork
#查看网络
docker network inspect mynetwork