当前位置: 首页 > news >正文

整站优化提升排名网站建设 环讯传媒

整站优化提升排名,网站建设 环讯传媒,网站制作架构,阿里买域名 电脑做网站1、Docker网络 Docker有多种网络模式可以选择#xff0c;可以根据应用场景和需求选择合适的网络模式。 桥接模式#xff08;Bridge Mode#xff09;#xff1a;默认情况下#xff0c;Docker使用桥接模式创建一个虚拟网络#xff0c;所有容器会连接到这个虚拟网络中。每个…1、Docker网络 Docker有多种网络模式可以选择可以根据应用场景和需求选择合适的网络模式。 桥接模式Bridge Mode默认情况下Docker使用桥接模式创建一个虚拟网络所有容器会连接到这个虚拟网络中。每个容器分配一个IP地址并且可以通过主机的IP地址进行访问。可以使用--network bridge参数指定桥接模式。 主机模式Host Mode容器直接使用宿主机的网络不会创建虚拟网络。容器和宿主机共享网络接口和IP地址因此容器可以通过宿主机的IP地址进行访问。可以使用--network host参数指定主机模式。 容器模式Container Mode可以将多个容器连接在同一个网络中这些容器可以直接通过容器的名称进行通信而不需要指定IP地址。可以使用--network container:container_name参数将容器添加到指定的网络中。 无网络模式None Mode容器没有网络接口与外界隔离只能通过进程间通信IPC或者共享卷Volumes进行通信。可以使用--network none参数指定无网络模式。 除了以上四种基本模式Docker还支持自定义网络模式并提供了网络插件机制可以根据实际需求创建自己的网络模式。 使用方法 创建一个网络docker network create network_name启动一个容器并连接到指定网络docker run --network network_name container_name查看网络信息docker network inspect network_name删除网络docker network rm network_name 可以通过docker network --help命令查看更多关于网络的使用方法和选项。 1理解Docker0 清空所有环境 测试 三个网络 问题 docker 是如何处理容器网络访问的 创建3个容器查看3个容器分别和linux主机的网桥绑定 原理 1.我们每启动一个docker容器docker就会给docker容器分配一个ip我们只要按照了docker就会有一个docker0桥接模式使用的技术是veth-pair技术 再次测试ip add # 我们发现这个容器带来网卡都是一对对的 # veth-pair 就是一对的虚拟设备接口他们都是成对出现的一端连着协议一端彼此相连 # 正因为有这个特性 veth-pair 充当一个桥梁连接各种虚拟网络设备的 # OpenStac,Docker容器之间的连接OVS的连接都是使用evth-pair技术2.我们来测试一下 tomcat1 和 tomcat2 是否可以ping 通 tomcat01和tomcat02使用主机和容器的相互绑定网卡去互相ping是可以成功的 结论 : tomcat01 和 tomcat02 是公用一个路由器docker0。所有的容器不指定网络的情况下都是通过docker0路由的docker会给我们的容器分配一个默认的可用IP 小结 Docker使用的是Linux的桥接宿主机是一个Docker容器的网桥 docker0 与外面网络的连接直连的方式 Docker中所有网络接口都是虚拟的虚拟的转发效率高内网传递文件。 只要容器删除对应的网桥一对就没了 思考一个场景我们编写了一个微服务database urlip: 项目不重启数据ip换了我们希望可以处理这个问题可以通过名字来进行访问容器 2–link [rootAlibabaECS ~]# docker exec -it tomcat02 ping tomcat01 ping: tomcat01: Name or service not known # ping不通# 如何解决呢 # 通过 --link 就可以解决了 [rootAlibabaECS ~]# docker exec -it tomcat03 ping tomcat02 PING tomcat02 (172.17.0.3) 56(84) bytes of data. 64 bytes from tomcat02 (172.17.0.3): icmp_seq1 ttl64 time0.171 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq2 ttl64 time0.092 ms 64 bytes from tomcat02 (172.17.0.3): icmp_seq3 ttl64 time0.104 ms# 用tomcat02 ping tomcat03 ping不通添加–link后 inspect网络查看配置的信息 查看tomcat03就是在在本地配置了tomcat02的配置 # 查看hosts 配置在这里原理发现 [rootAlibabaECS ~]# docker exec -it tomcat03 cat /etc/hosts 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters 172.17.0.3 tomcat02 c2e5a8a29151 172.17.0.4 50b163f99e32镜像中有IP映射后才能互相ping通 –link 本质就是在hosts配置中添加映射 现在使用Docker已经不建议使用–link了 自定义网络不适用docker0 docker0问题不支持容器名连接访问 3自定义网络 查看所有的docker网络 docker network inspect 网络模式 bridge 桥接 docker默认自己创建也是用bridge模式 none 不配置网络一般不用 host 和宿主机共享网络 container 容器网络连通用得少局限很大 ①测试 # 我们直接启动的命令 docker run -d -P --name tomcat01 tomcat docker run -d -P --name tomcat01 --net bridge tomcat# docker0特点默认域名不能访问--link可以打通连接# 我们可以自定义一个网络 # --driver bridge # --subnet 192.168.0.0/16 子网 # --gateway 192.168.0.1 网关 [rootxxx ~]# docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet dd7c8522864cb87c332d355ccd837d94433f8f10d58695ecf278f8bcfc88c1fc [rootxxx ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 04038c2f1d64 bridge bridge local 81476375c43d host host local dd7c8522864c mynet bridge local 64ba38c2cb2b none null local自己的网络就创建好了 ②使用自定义的网络 [rootxxx ~]# docker run -d -P --name tomcat-net-01 --net mynet tomcat 1de6f5994a480160d932de239b104b366ebd5b954e740a5ab8c0d5aeea8f5ba5 [rootxxx ~]# docker run -d -P --name tomcat-net-02 --net mynet tomcat f26916a49e5ee239aee23584020e0d23d53d2e644d5cb5155d831edc0803d957 [rootxxx ~]# docker network inspect mynet [{Name: mynet,Id: dd7c8522864cb87c332d355ccd837d94433f8f10d58695ecf278f8bcfc88c1fc,Created: 2020-09-05T12:43:54.84723306208:00,Scope: local,Driver: bridge,EnableIPv6: false,IPAM: {Driver: default,Options: {},Config: [{Subnet: 192.168.0.0/16,Gateway: 192.168.0.1}]},Internal: false,Attachable: false,Ingress: false,ConfigFrom: {Network: },ConfigOnly: false,Containers: {1de6f5994a480160d932de239b104b366ebd5b954e740a5ab8c0d5aeea8f5ba5: {Name: tomcat-net-01,EndpointID: c308999d4e51ed9e5975f3b4f3c1d468bfb08d93de7561d55062db055f44ef18,MacAddress: 02:42:c0:a8:00:02,IPv4Address: 192.168.0.2/16,IPv6Address: },f26916a49e5ee239aee23584020e0d23d53d2e644d5cb5155d831edc0803d957: {Name: tomcat-net-02,EndpointID: 8d9dbdd6ca119559ef4f1dd82a36e0d279c0b8284fe19f36c6d992047937a764,MacAddress: 02:42:c0:a8:00:03,IPv4Address: 192.168.0.3/16,IPv6Address: }},Options: {},Labels: {}} ]# 再次测试ping连接 现在不适用 --link 也可以ping名字了 [rootxxx ~]# docker exec -it tomcat-net-01 ping tomcat-net-02 PING tomcat-net-02 (192.168.0.3) 56(84) bytes of data. 64 bytes from tomcat-net-02.mynet (192.168.0.3): icmp_seq1 ttl64 time0.094 ms 64 bytes from tomcat-net-02.mynet (192.168.0.3): icmp_seq2 ttl64 time0.067 ms我们自定义的网络docker当我们维护好了对应的关系推荐我们平时这样使用网络 好处 redis - 不同的集群使用不同的网络保证集群是健康和安全的 mysql - 不同的集群使用不同的网络保证集群是健康安全的 4网络连通 将tomcat01和tomcat-net-01相连 如果直接将两个网络相连网关就变了不行所以只需要把容器和网络相连就好了 # 测试打通 tomcat - mynet [rootxxx ~]# docker network connect mynet tomcat01# 连通之后就是将 tomcat01 放到了 mynet 网络下# 一个容器两个ip地址 # 阿里云服务公网ip 私网ip 结果 # 01连通ok [rootAlibabaECS ~]# docker exec -it tomcat01 ping tomcat-net-01 PING tomcat-net-01 (192.168.0.2) 56(84) bytes of data. 64 bytes from tomcat-net-01.mynet (192.168.0.2): icmp_seq1 ttl64 time0.098 ms 64 bytes from tomcat-net-01.mynet (192.168.0.2): icmp_seq2 ttl64 time0.091 ms# 02依旧是打不通的 [rootAlibabaECS ~]# docker exec -it tomcat02 ping tomcat-net-01 Error: No such container: tomcat02结论需要进行跨网络操作就需要使用docker network connect 连通 5实战部署Redis集群 # 创建网卡 docker network create redis --subnet 172.38.0.0/16# 通过脚本创建六个redis配置 for port in $(seq 1 6); \ do \ mkdir -p /mydata/redis/node-${port}/conf touch /mydata/redis/node-${port}/conf/redis.conf cat EOF /mydata/redis/node-${port}/conf/redis.conf port 6379 bind 0.0.0.0 cluster-enabled yes cluster-config-file nodes.conf cluster-node-timeout 5000 cluster-announce-ip 172.38.0.1${port} cluster-announce-port 6379 cluster-announce-bus-port 16379 appendonly yes EOF done # 创建结点1 docker run -p 6371:6379 -p 16371:16379 --name redis-1 \ -v /mydata/redis/node-1/data:/data \ -v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf#创建结点2 docker run -p 6372:6379 -p 16372:16379 --name redis-2 \ -v /mydata/redis/node-2/data:/data \ -v /mydata/redis/node-2/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.12 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #创建结点3 docker run -p 6373:6379 -p 16373:16379 --name redis-3 \ -v /mydata/redis/node-3/data:/data \ -v /mydata/redis/node-3/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.13 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #创建结点4 docker run -p 6374:6379 -p 16374:16379 --name redis-4 \ -v /mydata/redis/node-4/data:/data \ -v /mydata/redis/node-4/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.14 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #创建结点5 docker run -p 6375:6379 -p 16375:16379 --name redis-5 \ -v /mydata/redis/node-5/data:/data \ -v /mydata/redis/node-5/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.15 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf #创建结点6 docker run -p 6376:6379 -p 16376:16379 --name redis-6 \ -v /mydata/redis/node-6/data:/data \ -v /mydata/redis/node-6/conf/redis.conf:/etc/redis/redis.conf \ -d --net redis --ip 172.38.0.16 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf# 创建集群 [rootiZ2zeg4ytp0whqtmxbsqiiZ ~]# docker exec -it redis-1 /bin/sh /data # ls appendonly.aof nodes.conf /data # redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1Performing hash slots allocation on 6 nodes... Master[0] - Slots 0 - 5460 Master[1] - Slots 5461 - 10922 Master[2] - Slots 10923 - 16383 Adding replica 172.38.0.15:6379 to 172.38.0.11:6379 Adding replica 172.38.0.16:6379 to 172.38.0.12:6379 Adding replica 172.38.0.14:6379 to 172.38.0.13:6379 M: 541b7d237b641ac2ffc94d17c6ab96b18b26a638 172.38.0.11:6379slots:[0-5460] (5461 slots) master M: a89c1f1245b264e4a402a3cf99766bcb6138dbca 172.38.0.12:6379slots:[5461-10922] (5462 slots) master M: 259e804d6df74e67a72e4206d7db691a300c775e 172.38.0.13:6379slots:[10923-16383] (5461 slots) master S: 9b19170eea3ea1b92c58ad18c0b5522633a9e271 172.38.0.14:6379replicates 259e804d6df74e67a72e4206d7db691a300c775e S: 061a9d38f22910aaf0ba1dbd21bf1d8f57bcb7d5 172.38.0.15:6379replicates 541b7d237b641ac2ffc94d17c6ab96b18b26a638 S: 7a16b9bbb0615ec95fc978fa62fc054df60536f0 172.38.0.16:6379replicates a89c1f1245b264e4a402a3cf99766bcb6138dbca Can I set the above configuration? (type yes to accept): yesNodes configuration updatedAssign a different config epoch to each nodeSending CLUSTER MEET messages to join the cluster Waiting for the cluster to join ...Performing Cluster Check (using node 172.38.0.11:6379) M: 541b7d237b641ac2ffc94d17c6ab96b18b26a638 172.38.0.11:6379slots:[0-5460] (5461 slots) master1 additional replica(s) M: a89c1f1245b264e4a402a3cf99766bcb6138dbca 172.38.0.12:6379slots:[5461-10922] (5462 slots) master1 additional replica(s) S: 7a16b9bbb0615ec95fc978fa62fc054df60536f0 172.38.0.16:6379slots: (0 slots) slavereplicates a89c1f1245b264e4a402a3cf99766bcb6138dbca S: 061a9d38f22910aaf0ba1dbd21bf1d8f57bcb7d5 172.38.0.15:6379slots: (0 slots) slavereplicates 541b7d237b641ac2ffc94d17c6ab96b18b26a638 M: 259e804d6df74e67a72e4206d7db691a300c775e 172.38.0.13:6379slots:[10923-16383] (5461 slots) master1 additional replica(s) S: 9b19170eea3ea1b92c58ad18c0b5522633a9e271 172.38.0.14:6379slots: (0 slots) slavereplicates 259e804d6df74e67a72e4206d7db691a300c775e [OK] All nodes agree about slots configuration.Check for open slots...Check slots coverage... [OK] All 16384 slots covered.1.开启6个redis镜像服务 2.配置集群的所有的IP 3.启动集群 ①测试高可用 14是13的从机13宕掉后14选举成为master保证服务的运行保证了集群的高可用 docker搭建redis集群完成 我们使用了Docker之后所有的技术都会变得简单起来 2、SpringBoot微服务打包Docker镜像 架构springboot项目打包应用编写dockerfile构建镜像发布运行以后我们使用了Docker之后给别人交付的就是一个镜像即可 Docker学习与应用六-Docker网络 的学习笔记到此完结笔者归纳、创作不易大佬们给个3连再起飞吧
http://www.pierceye.com/news/365419/

相关文章:

  • 男人做想看的免费网站网页设计有哪些岗位
  • 南江县规划和建设局网站怎样做淘宝客导购网站
  • 浦江县住房和城乡建设局网站校园网站开发方案
  • 微做网站网站开发源代码
  • 福建省住房城乡建设部网站fusionaccess免费服务器
  • 山东省春季高考网站建设试题莱芜在线论坛莱芜话题秦立奉
  • 太原城市建设招标网站电子商务是干什么的具体
  • 网站 营销网站的备案的要多少钱
  • 网站模板 源码wordpress手机端装换
  • 咋把网站制作成软件wordpress添加单页模板
  • 大连网站平台研发偷别人的WordPress主题
  • 做网站ps文字有锯齿公司做外地网站
  • 如何在百度提交自己的网站梦织和wordpress特点
  • 毕业设计做网站还是系统好网站可以随便创建么
  • 做网站与网页有什么区别昊客网络
  • 临沂地区建站网站设计一个企业网站首页
  • wordpress本地建站精准信息预测
  • 云服务器如何安装网站爱站网seo综合查询
  • 个人建什么样的网站好wordpress添加用户登录
  • 中国教育网站官网做网站购买域名之后
  • 公司网站建设的优势新图闻的品牌建设经验
  • 网站建设是在商标哪个类别深圳宝安区新安街道
  • 网站推广服务器怎么选wordpress获取菜单链接地址
  • 横岗做网站外贸网站建设推广优化
  • 怎样搭建一个个人网站国金紫郡府淮北论坛
  • 网站建设类型wordpress词典模板
  • wordpress标签订阅插件优化网站视频
  • 聊城市建设工程质量监督站网站济南建站公司哪有
  • 郑州做网站便宜没有有知道钓鱼网站在哪儿做
  • 免费建自己域名的网站吗seo推广排名软件