mirror of
https://github.com/142vip/408CSFamily.git
synced 2026-02-03 02:23:38 +08:00
99 lines
2.0 KiB
JavaScript
Executable File
99 lines
2.0 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
||
|
||
/**
|
||
*
|
||
* 例如:
|
||
* - ./scripts/network create
|
||
* - ./scripts/network inspect
|
||
* - ./scripts/network rm
|
||
*/
|
||
const { execShell, BaseSetting} = require("./.exec");
|
||
const scriptName=process.argv[2];
|
||
|
||
|
||
/**
|
||
* 网络基础信息
|
||
* - 网络名称
|
||
* - 子网掩码
|
||
* - 网关地址
|
||
*/
|
||
const dockerNetworkInfo={
|
||
defaultName:'service_env_net',
|
||
subnet:'172.30.0.0/24',
|
||
gateway:'172.30.0.1',
|
||
}
|
||
|
||
// 支持的命令
|
||
const SupportScripts={
|
||
ls:'docker network ls',
|
||
create:[
|
||
// 创建网关
|
||
`
|
||
docker network create
|
||
--subnet=${dockerNetworkInfo.subnet}
|
||
--gateway=${dockerNetworkInfo.gateway}
|
||
${dockerNetworkInfo.defaultName}
|
||
`,
|
||
// 查看创建后基本信息
|
||
`
|
||
docker network inspect ${dockerNetworkInfo.defaultName}
|
||
`
|
||
].join(' && '),
|
||
rm:[
|
||
// 参数校验
|
||
`
|
||
if test -z "${dockerNetworkInfo.defaultName}";then
|
||
echo "参数错误 网络名称不能为空。脚本执行eg: bash xxx.sh rm 网络名称"
|
||
fi
|
||
`,
|
||
// 判断网络是否存在
|
||
`
|
||
docker network ls | grep -w "${dockerNetworkInfo.defaultName}"
|
||
if [ $? -eq 1 ] ;then
|
||
echo "容器网络:${dockerNetworkInfo.defaultName} 不存在,删除无效"
|
||
exit 0;
|
||
fi
|
||
`,
|
||
// 删除网络
|
||
`
|
||
docker network rm "${dockerNetworkInfo.defaultName}"
|
||
`
|
||
].join(''),
|
||
inspect:
|
||
`
|
||
docker network inspect ${dockerNetworkInfo.defaultName}
|
||
`
|
||
}
|
||
|
||
/**
|
||
* 获取需要执行的shell命令
|
||
* @param scriptName
|
||
* @returns {string}
|
||
*/
|
||
function getCommand(scriptName){
|
||
let deployCommand=SupportScripts.ls
|
||
|
||
// 部署到阿里云服务器
|
||
if(scriptName==='ls'){
|
||
deployCommand=SupportScripts.ls
|
||
}
|
||
|
||
// 部署到Github
|
||
if(scriptName==='rm'){
|
||
deployCommand=SupportScripts.rm
|
||
}
|
||
if(scriptName==='create'){
|
||
deployCommand=SupportScripts.create
|
||
}
|
||
if(scriptName==='inspect'){
|
||
deployCommand=SupportScripts.inspect
|
||
}
|
||
return deployCommand
|
||
}
|
||
|
||
|
||
// 执行
|
||
;(async ()=>{
|
||
const command=getCommand(scriptName)
|
||
await execShell(command)
|
||
})() |