当DOCKER遇上ESXI
特别是你要为DOCKER窗口设置静态IP,且和公司局域网打成一片的时候, 苦逼的测试就会开始,我差不多前前后后测试了四五天,一百多个容器报废。 NETNS,NSENTER,PIPWORK,各种镜像合下载之后, 想起了去年就是这个时候作的一个在ESXI上再双重虚拟化HYPER-V的情况。 混杂模块启用啊啊啊啊啊!!!!因为DOCKER也相关于网桥里的网桥了。。。 死去吧。。。 这一关打通想通,以后的就容易啦。。 为什么这些问题都要我遇上???
这个会由一系列的脚本构成,比如:
系统重启后,如何快速恢复服务,如何建立网桥(也可一次写入),如何在新系统上快速部署。
ADDBRIDGE
#!/bin/sh br_name=br100 brctl addbr $br_name ip addr add 192.168.X.X/D dev $br_name ip addr del 192.168.X.X/D dev eth0 ip link set $br_name up brctl addif $br_name eth0 ip route del default ip route add default via X.X.X.X dev $br_name
ADDDOCKER
#!/bin/sh br_name=br100 gateway='x.x.x.x' function run_docker() { #docker run -t -i -d --name="net_test" --net=none jdeathe/centos-ssh /bin/bash cid=$(docker run -i -t -d --name=$1 --net=none $3 /bin/bash) pid=$(docker inspect -f '{{.State.Pid}}' $cid) # set up netns mkdir -p /var/run/netns ln -s /proc/$pid/ns/net /var/run/netns/$pid # set up bridge ip link add q$pid type veth peer name r$pid brctl addif $br_name q$pid ip link set q$pid up # set up docker interface fixed_ip=$2 ip link set r$pid netns $pid ip netns exec $pid ip link set dev r$pid name eth0 ip netns exec $pid ip link set eth0 up ip netns exec $pid ip addr add $fixed_ip dev eth0 ip netns exec $pid ip route del default ip netns exec $pid ip route add default via $gateway } echo "Usage: ./docker -f demo-data" while getopts :f:h file_name do case $file_name in f) cat $OPTARG | while read line do arr_var=(${line}) run_docker ${arr_var[0]} ${arr_var[1]} ${arr_var[2]} done ;; h) echo "Usage: ./docker -f demo-data" exit 1 ;; \?) echo "Usage: ./docker -f demo-data" exit 1 ;; :) echo "Usage: ./docker -f demo-data" exit 1 ;; esac done
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。
Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。