Docker网络模式

本文介绍了Docker的网络模式,包括bridge(默认模式)、host模式和自定义网络。在bridge模式中,容器共享同一网段并能相互通信;host模式下,容器使用主机的IP和端口,不支持端口映射。文章还讨论了如何查看网络状态,创建自定义网络,并通过实例展示了数据卷挂载和端口映射。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

网络模式

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

在这里插入图片描述

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值