docker网络模式详解

docker网络模式

bash 复制代码
#怎么进行查看Docker的网络模式
命令:Docker network ls  查看有几种网络模型
     docker inspect 容器名字   可以查看到容器的具体信息包含网络信息

怎么在创建容器的时候指定使用的网络模式
--net=网络模式

默认是使用的bridge桥接模式

bridge模式,默认模式

图解

容器共享独立的网络空间,通过nat的方式,转换成宿主机IP,与其他网络互通等同于vmware的nat模式,虚拟出来一个交换机,默认网段是172.17.0.0/16 网关是172.17.0.1调用iptables实现数据的转换

案例:创建nginx:alpine的容器,要求使用默认网络模式,容器的ip地址属于192.168.0.0/16,网关为192.168.0.1
php 复制代码
#1、先创建自定义网络
[root@docker ~]# docker network create -d bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 net_test
7e19dfe7741ae1af5912e03e17728a5f4d21f38d6c47d28940ac25e0a3476e88


 
[root@docker ~]# docker run -d --net net_test nginx:alpine
817b5319d49f4c1c691132e362d61b763561f7fab6de44cc4a598f34199e56ad
[root@docker ~]# docker inspect pedantic_proskuriakova | grep -i ipaddress
            "SecondaryIPAddresses": null,
            "IPAddress": "",
                    "IPAddress": "192.168.0.2",

host模式

图解

容器共享宿主机的网络空间,可以通过宿主机的网络空间(ip+port)直接访问容器会有安全隐患,不建议使用

案例:使用host模式运行mysql5.7的容器
php 复制代码
#运行容器
docker run -d --net host -e MYSQL_ROOT_PASSWORD=123 --name mysql mysql:5.7.32
    
#使用的是宿主机的IP
mysql -uroot -p123 -h'10.0.0.100' 

container模式

图解

容器没有独立的网络空间,共享指定容器的网络空间,创建的容器是进行使用指定容器的网络

php 复制代码
#运行容器
docker run -di --net container:mysql alpine sh

none模式

在none模式下,Docker容器拥有自己的网络命名空间,但是并不进行任何网络配置。该模式关闭了容器的网络功能,此时容器没有网卡、IP地址、路由等信息

自定义网络模式

除了docker默认的几种模式之外,我想单独创建一个桥接模式的网络模式,怎么创建

bash 复制代码
命令:
方法一:直接创建一个新的网络名称,默认是使用的桥接模式
docker network create my-custom-network
方法二:自己定义网络模式  使用的网段
docker network create \
  --driver bridge \          # 驱动类型,自定义桥接网络必须指定bridge
  --subnet 172.20.0.0/16 \   # 自定义子网(比如172.20.0.0/16)
  --gateway 172.20.0.1 \     # 网关地址(子网的第一个IP)
  --ip-range 172.20.0.0/24 \ # 容器分配的IP段(子集网)
  my-custom-network          # 自定义网络名称(可自定义,比如sms-network)


  #两个不同的网络模式网段想要正常通讯的话应该怎么做
  语法:docker network connect 哪个网络名称   哪个容器
  把哪个容器添加到对应的网络中允许进行通讯
相关推荐
前端Baymax21 分钟前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
spider_xcxc31 分钟前
K8s 部署学习笔记
docker·容器·kubernetes·云计算·k8s
java_logo1 小时前
Docker Compose 部署 Apache Superset:轻松搭建开源 BI 平台
docker·开源·apache·superset·轩辕镜像·superset部署方案·docker superset
zy happy1 小时前
VMware虚拟机添加新的硬盘
java·linux·jvm·docker
Xzaveir_7771 小时前
企业号码负面标记治理:认证、申诉与合规事件的三轨模型
大数据·网络·人工智能·科技·产品经理
Multipath7121 小时前
智能巡检机器人多链路聚合路由解决方案
网络·5g·安全·实时音视频·信息与通信
Tencent_TCB1 小时前
腾讯云 CloudBase 登上 WAIC:我们为 Agent 重新设计了云的生产线
网络·数据库·腾讯云
hz567891 小时前
音视频技术SDK选型指南:企业实时互动场景的关键能力解析
网络·云计算·音视频·实时音视频·信息与通信
上海云盾-小余1 小时前
全链路多层防护体系,一站式拦截 DDoS、CC、爬虫与注入攻击
网络·爬虫·安全·ddos
数智化管理手记2 小时前
预算控制手工核对效率低?预算控制数字化落地实操如何做?
大数据·网络·数据库·人工智能·数据挖掘