企业网站优化培训,WordPress mvc插件,网站和软件是怎么做的,网站建设费用明细报价docker的网络模式#xff1a;
1、桥接模式#xff1a;创建docker时不需要指定网络类型#xff0c;默认模式。 2、host模式: 容器将不会虚拟出自己的网卡#xff0c;也没有自己的ip地址#xff0c;全部使用宿主机的ip和端口。 3、container模式#xff1a;容器和容器之间…docker的网络模式
1、桥接模式创建docker时不需要指定网络类型默认模式。 2、host模式: 容器将不会虚拟出自己的网卡也没有自己的ip地址全部使用宿主机的ip和端口。 3、container模式容器和容器之间共用一个ip地址和端口。 4、nono模式docker容器有自己的network-space,但是这个容器没有任何网络设置。这个容器没有网卡没有ip没有路由只有lo回环网络。在none模式下容器不可以联网。 5、自定义网络我们可以给创建一个自己定义网段。 桥接模式docker默认模式
桥接模式一种共享通信的方式用于连接两个不同网络段的设备。 桥接设备工作在osi模型的第二层数据链路层转发数据帧根据mac地址。类似于交换机只能转发同一网段通过泛洪广播请求mac地址。
docker网络就是基于桥接模式实现的:
1.虚拟网络桥:安装开启docker之后, docker进程就会自动创建一个虚拟网络桥docker0 是一个虚拟的网络设备类似于物理网络设备的交换机。
2、分配唯一的ip地址 每次运行一个容器 docker进程都会分配唯一的且未被其他容器占用的ip地址给容器。这个IP地址是桥接模式网络的子网中。
3、容器和主机通信通过桥接模式容器可以和主机直接通信容器可以访问主机上的运行服务。主机也可以通过桥接网络docker:0来访问容器的进程(iptables的nat地址转换在主机上做了地址转换)
docker的网桥是宿主机虚拟出来的并不是一个真正存在的网络设备外部网络无法找到。外部网络无法直接访问docker:0分配给容器的ip地址。 可以给容器做一个端口映射。容器创建完成后端口不能做映射。
实际上docker是在宿主机和容器之间做了一个iptables的Nat地址转换。
随机端口映射
docker run -itd --name 容器名 -P 镜像:版本号 /bin/bash-P 在创建容器时。在宿主机和容器之间做一个端口映射。不加端口随机给。容器的端口是不变的。例
docker run -itd --name testl -P nginx:1.22.0 /bin/bash
指定端口映射
docker run -itd --name 容器名 -p linux端口:容器端口 镜像:版本号 /bin/bash
-p:指定端口,人为设置固定的端口映射。指定端口进入容器开启服务。
例
docker run -itd --name testl -p 4300:80 nginx:1.22.0 /bin/bash
host模式
容器将不会虚拟出自己的网卡也没有自己的ip地址全部使用宿主机的ip和端口。 创建容器时可以指定网络模式 --network host
docker run -itd --name 容器名 --network host 镜像名:版本号 /bin/bash例
docker run -itd --name test1 --network host nginx /bin/bash
公用模式如果是单个容器运行可以使用host模式。 container模式
容器和容器之间共用一个ip和端口
docker run -itd --name 容器名 -- networkcontainer:容器名 镜像名:版本号 /bin/bash例
docker run -itd --name test2 -- networkcontainer:test1 nginx:latest /bin/bash
nono模式
docker容器有自己的network-space,但是这个容器没有任何网络设置。这个容器没有网卡没有ip没有路由只有lo回环网络。在none模式下容器不可以联网。用于容器功能测试。
docker run - itd --name 容器名 --networknone 镜像名:版本号 /bin/bashdocker run - itd --name test4 --networknone nginx:laster /bin/bash
自定义网络
可以给docker创建一个自定义网段。虚拟机内可以访问win不可以
查看docker的网络信息
docker network ls
-------------------------------------------------------------------------------------------NETWORK ID NAME DRIVER SCOPENETWORK ID这个是docker网络唯一的网络id
NAME docker网络的名称
DRIVER docker网络的动程序
SCOPE 表示网络的作用范围-------------------------------------------------------------------------------------------创建容器网络
docker network create --subnet网段 --opt com.docker.network.bridge.name 自定义网卡名称 自定义网络的名称例
docker network create --subnet172.18.0.0/16 --opt com.docker.network.bridge.name docker1 mynetworkdocker network create创建一个docker虚拟网卡
--subnet172.18.0.0/16自定义一个网段和声明子网掩码
--opt com.docker.network.bridge.namedocker1可以不加但是网卡名称比较难以识别。
mynetwork自定义网络的名称
创建容器并指定IP地址
docker run -itd --name 容器名 --network bridge --ip ip地址 镜像名:版本号 /bin/bash例
docker run -itd --name nginx1 --network bridge --ip 172.18.0.10 nginx:latest /bin/bash