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=$  --net=none  $ /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=$
    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[]}  ${arr_var[]} ${arr_var[]}
        done
        ;;
    h) echo "Usage: ./docker -f demo-data"
            exit
            ;;
        \?) echo "Usage: ./docker -f demo-data"
            exit
            ;;
    :) echo "Usage: ./docker -f demo-data"
            exit
            ;;
    esac
done

DOCKER脚本一例---快速建立大批测试机的更多相关文章
- [20190510]快速建立执行脚本.txt
		
[20190510]快速建立执行脚本.txt --//上午在测试建立表空间备份时,浪费一点点时间.脚本如下:$ cat d10.sqldrop tablespace t01 including con ...
 - Docker Compose + Traefik v2 快速安装, 自动申请SSL证书 http转https 初次尝试
		
前言 昨晚闲得无聊睡不着觉,拿起服务器尝试部署了一下Docker + Traefik v2.1.6 ,以下是一些配置的总结,初次接触,大佬勿喷. 我的系统环境是 Ubuntu 18.04.3 LTS ...
 - 如何快速建立Subversion服务器
		
本文拷贝自网址:http://www.subversion.org.cn/?action-viewnews-itemid-1 如何快速建立Subversion服务器,并且在项目中使用起来,这是大家最关 ...
 - shell常见脚本30例
		
shell常见脚本30例 author:headsen chen 2017-10-19 10:12:12 本文原素材出自网上,特此申明.有些地方加入我自己的改动 常见的30例shell脚本 1.用 ...
 - docker 及 docker-compose 的快速安装和简单使用
		
本篇将使用 DaoCloud 源在 Ubuntu 上简单快速安装 docker 及 docker-compose 并添加了通过 Dockerfile 及 docker-compose.yml 使用 n ...
 - 运用CMD命令关于快速获取文件夹名称和快速建立文件夹
		
前些天头儿让我建立一本本的文件夹,让后交给我了几个命令,快速获取文件夹的名称和快速建立文件夹,省去了一个个的按F2,一个个的复制,粘贴,一个个的新建,再复制粘贴. 首先讲一下第一个问题,快速获取文件夹 ...
 - 【SFA官方翻译】使用 Kubernetes、Spring Boot 2.0 和 Docker 的微服务快速指南
		
[SFA官方翻译]使用 Kubernetes.Spring Boot 2.0 和 Docker 的微服务快速指南 原创: Darren Luo SpringForAll社区 今天 原文链接:https ...
 - Sublime Text 3安装Package Control快速建立html5和xhtml文档
		
Sublime Text 3安装Package Control快速建立html5和xhtml文档 先关闭Sublime text 3:第1步:下载sublime_package_control-mas ...
 - 快速建立ssh互信(转)
		
转自:魏巍的Linux酒吧 - 51CTO技术博客(http://weiweilinux.blog.51cto.com/3349074/1048212) 快速建立ssh互信 因为工作中经常需要配置服务 ...
 
随机推荐
- 【转】非常完善的Log4net详细说明
			
转自:http://www.cnblogs.com/zhangchenliang/p/4546352.htmlhttp://www.cnblogs.com/zhangchenliang/p/45463 ...
 - log4j级别输出
			
log4j 我们知道: log4j.logger.XX cover ==> log4j.rootLogger log4j.appender.XX.Threshold决定了最低接收级别 也就是说 ...
 - [RxJS] Combining streams in RxJS
			
Source: Link We will looking some opreators for combining stream in RxJS: merge combineLatest withLa ...
 - android api 中文 (73)—— AdapterView
			
前言 本章内容是android.widget.AdapterView,版本为Android 2.3 r1,翻译来自"cnmahj",欢迎大家访问他的博客:http://androi ...
 - 第三章:真正弄清楚一个Mod的组织结构
			
<基于1.8 Forge的Minecraft mod制作经验分享> 首先看看一个mod的文件结构,懂Java的应该都看得懂: src/main/ --java/com.xxxxxxxx.x ...
 - iscc2016 pwn部分writeup
			
一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...
 - centos6 Cacti部署文档
			
centos6 Cacti部署文档 1.安装依赖 yum -y install mysql mysql-server mysql-devel httpd php php-pdo php-snmp ph ...
 - VideoView 视频播放 示例
			
介绍 实现的功能: 可播放本地视频或网络视频,可控制播放或暂停 最小化时保存播放位置及播放状态,resume时恢复所有状态: 横竖屏切换时保持切换前的位置及状态 在屏幕上竖直滑动可调节屏幕亮度和音量 ...
 - ASP.NET-FineUI开发实践-2
			
FineUI好处之一在于No JS,这里的No JS并不是不使用JS,JS对于ASP.Net是必不可少的,只是FineUI把大部分JS封装,如果想用,后台提供了很多方法返回JS,Get...Refer ...
 - HTML CSS样式基础
			
一.css 1.什么是css? Cascading Style Sheet 级联样式表 改变样式的一个工具,说白了,就是为了让我们的页面好看, HTML底层封装了css这样一个工具. 2.怎么使用cs ...