记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

通过Docker命令批量或单独开设NAT服务器以及维护(简称母鸡开小鸡)

通过Docker命令批量或单独开设NAT服务器以及维护(简称母鸡开小鸡)
Github:https://github.com/spiritLHLS/docker
通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)
默认使用debian系统,每个容器自带1个外网ssh端口,25个内外网一致端口
默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker
由于只是在宿主机进行了CPU和内存的限制未在容器内使用cgroup驱动,所以在容器内使用服务器测试脚本检测容器的可用资源是无效的,显示的会是宿主机的资源
由于大部分云服务器xfs文件系统不启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小
配置要求:
系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行
推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致母鸡卡死
环境预设
下载预制脚本
XML/HTML代码
  1. curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/pre_build.sh -o pre_build.sh && chmod +x pre_build.sh && bash pre_build.sh
单独开设
下载脚本
XML/HTML代码
  1. curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
运行
XML/HTML代码
  1. ./onedocker.sh name cpu memory password sshport startport endport system
目前system仅支持选择alpine或debian,默认是debian
示例
将开设1核512MB内存,root的密码是123456,SSH端口映射至外网25000,批量映射的端口区间为34975到35000,此区间内外网端口一致,系统为debian
XML/HTML代码
  1. ./onedocker.sh test 1 512 123456 25000 34975 35000 debian
XML/HTML代码
  1. 删除示例
  2. docker rm -f test
  3. rm -rf test
  4. ls
  5. 进入示例
  6. docker exec -it test /bin/bash
  7. 查询信息
  8. cat 容器名字
  9. 输出格式
  10. 容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止
批量开设
批量多次运行继承配置生成,生成多个时为避免SSH连接中断建议在screen中执行。
XML/HTML代码
  1. curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockers.sh -o dockers.sh && chmod +x dockers.sh && bash dockers.sh
卸载所有docker容器和镜像
XML/HTML代码
  1. docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
  2. rm -rf dclog
  3. ls
一键创建Docker小鸡
GitHub:https://github.com/AKEBI-NUKUI/DockerNATVPS 
安装docker后,下载仓库,选择系统,直接运行Create.sh创建,批量运行请 ./Add_more.sh
Alpine母鸡:
XML/HTML代码
  1. curl -L https://raw.githubusercontent.com/AKEBI-NUKUI/DockerNATVPS/main/Alpine/Add_more.sh -o Add_more.sh && chmod +x Add_more.sh && bash Add_more.sh
Debian母鸡:
XML/HTML代码
  1. curl -L https://raw.githubusercontent.com/AKEBI-NUKUI/DockerNATVPS/main/Debian/Add_more.sh -o Add_more.sh && chmod +x Add_more.sh && bash Add_more.sh
alpine3.x升级到3.18最新版一键脚本:
XML/HTML代码
  1. curl -L https://naiba.de/alpine-update.sh -oalpine-update.sh && chmod +x alpine-update.sh && bash alpine-update.sh
升级完成后检查版本:
XML/HTML代码
  1. cat /etc/alpine-release
如果升级顺利,您可以看到它已升级到最新支持的版本,通常为 3.18.0。
也可以手动升级,需要修改 etc/apk/repositories 为最新版本。
XML/HTML代码
  1. https://mirrors.ustc.edu.cn/alpine/latest-stable/main
  2. https://mirrors.ustc.edu.cn/alpine/latest-stable/community
然后执行升级命令:
XML/HTML代码
  1. apk update
  2. apk upgrade
其实就是给源中版本换成 latest-stable 最新稳定版,让他自己检测升级。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):