使用Docker一键安装某些容器的脚本

4,652次阅读
没有评论

共计 5422 个字符,预计需要花费 14 分钟才能阅读完成。

一键开设 Android 系统的容器​

  • 自定义安卓版本
  • 自动创建带校验的 web 网站
  • 自动进行 nginx 安装和反向代理的配置,可选择是否绑定域名,默认回车不绑定使用 80 端口
  • 无需考虑宿主机是否支持嵌套虚拟化
  • 支持 x86_64 和 ARM 架构

宿主机的配置至少要有 1 核 2G 内存 15G 硬盘,否则开设可能会导致宿主机卡死

宿主机推荐 Ubuntu 系统,Debian 系统可能导致安卓屏幕白屏

安卓版本越新占用越大,以上的配置要求是最低版本安卓的配置要求 (个人测试到 12.0.0-latest 的 tag 可用,更高版本映射白屏了,自己测试哪个能用吧)

如果开设后,过了 5 分钟浏览器网页的登录验证还是一直失败,那么请查询安卓容器的日志,大概率安卓容器崩溃了,建议更换更低的安卓系统版本的容器进行安装

开设

国际

shell

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

国内

shell

curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

命令执行后按照提示输入即可,注意选择版本输入的是序号,对应选项的数字序号,安装完毕后打开 本机 IPV4+80 端口 可登录

如果需要查询生成的安卓信息和 web 登录信息,执行 cat /root/android_info 可查询信息

默认的用户名 onea

默认密码 oneclick

远程的桌面点击 H264 Converter 跳转就是了

暂时只支持生成一个安卓容器,勿要重复生成,如需替换版本请执行后续命令删除后再次开设

暂时只支持开设后一直使用,不可重启服务器,重启后可能无法自重启映射成功,自测

删除

  • 删除容器
  • 删除容器对应镜像
  • 删除配置文件

docker rm -f android
docker rmi $(docker images | grep "redroid" | awk '{print $3}')
rm -rf /etc/nginx/sites-enabled/reverse-proxy
rm -rf /etc/nginx/sites-available/reverse-proxy
rm -rf /etc/nginx/passwd_scrcpy_web
rm -rf /root/android_info

一键开设 Windows 系统的容器

  • 共享宿主机所有资源(CPU、内存、硬盘),基于 docker 所以只占用系统的大小,适合多开
  • 共享 IP,做了 docker 的 NAT 映射,可选择是否映射到外网或仅内网
  • 设置的 win 系统默认最多占用为 1 核 2G 内存 50G 硬盘,实际占用看使用情况
  • 无需 iptables 进行 NAT 映射,删除容器时自动删除了端口的映射,方便维护
  • 需要考虑宿主机是否支持嵌套虚拟化,暂时只支持 X86_64 架构的系统

宿主机需要支持嵌套虚拟化,且暂时只支持 X86_64 架构的系统,手头没 ARM 机器编译对应的镜像

执行

egrep -c '(vmx|svm)' /proc/cpuinfo

结果需要大于或等于 1,不能为 0

然后需要先设置 docker 切换使用 v1 版 cgroup 启动

sed -i 's/GRUB_CMDLINE_LINUX="\(.*\)"/GRUB_CMDLINE_LINUX="\1 systemd.unified_cgroup_hierarchy=0"/' /etc/default/grub
update-grub
ls

如果执行都无报错,执行 reboot 重启系统以使得设置生效

支持的镜像

使用的自建的镜像:https://hub.docker.com/r/spiritlhl/wds

镜像名字 镜像大小
10 20G
2022 17.5G
2019 17G

创建出的容器大小会比镜像大小大一丢丢,但不多

下载脚本

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewindows.sh -o onewindows.sh && chmod +x onewindows.sh

使用方法

开设前务必在 screen 窗口中执行,避免 SSH 长期链接造成掉线卡死

./onewindows.sh 容器名字 系统版本 RDP 的端口 是否为外网映射(留空则默认是 N,可选 Y)

开设前需要确认宿主机至少有镜像大小的两倍大小加 10G 硬盘的大小,因为 docker 在创建容器时得先将镜像拉到本地再创建

创建过程中,硬盘占用峰值为 宿主机系统 + 镜像大小 + 容器大小

比如开设容器名字为 test,占用最低的Windows 2019 系统的容器,映射外网 RDP 端口为 13389,设置为 外网映射(映射到你的服务器外网 IPV4 地址)

./onewindows.sh test 2019 13389 Y

开设后默认的用户名是 Administratorvagrant

默认的密码是vagrant

如果你选择开设映射的外网端口,务必登录后修改对应账户的密码(两个账户都可能有,自行尝试),否则可能被人爆破滥用

删除

需要删除对应镜像和容器,先执行 docker ps -adocker images查询镜像是 spiritlhl/wds 的 ID,然后对应使用

docker rm -f 容器的 ID
docker rmi 镜像的 ID

删除后可开设别的版本的 windows 容器

(在宿主机上使用 Docker 安装 Windows 系统,好像绕过了某些商家不允许 DD 成 Win 系统的 TOS 限制)

其他类似的项目

https://github.com/dockur/windows – 同类项目,他支持的系统更多,但资源需求更多

https://github.com/dockur/windows-arm/ – 很棒,他有 ARM 的服务器进行镜像编译,我的项目没有

注意,上述的两个项目都要求宿主机的 CPU 至少 4 核,内存至少 4G,硬盘至少 64G,比我的项目的镜像需求要求更大。(他的项目优点是可以自定义很多配置项,详见他对应的项目说明。)

一键开设 Firefox 浏览器的容器

  • 已设置崩溃自启
  • 已设置带中文字体
  • 自带 web 的校验,可自设置密码
  • 可自定义容器最大的内存占用
  • 可选是否开启 VNC 端口,默认不开启
  • 无需考虑是否支持嵌套虚拟化和服务器的架构
  • 不支持声音映射,无论是 WEB 端还是 VNC 端都无法传输声音

宿主机需要至少 1 核 2G 内存 5G 硬盘,开设的容器大小将占用起码 1G 硬盘

开设

如果未设置自定义密码,开设后默认的密码是oneclick

默认的 web 端口是 3003,开设后打开 本机 IPV4: 端口 即可

shell

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onefirefox.sh -o onefirefox.sh && chmod +x onefirefox.sh && bash onefirefox.sh

删除

修改以下端口号 3003 为你实际的端口号,然后执行命令回车两次即可删除容器、配置文件、对应镜像

shell

PORT="3003"
docker stop firefox_${PORT}
docker rm -f firefox_${PORT}
rm -rf /usr/local/bin/firefox_${PORT}
docker rmi jlesage/firefox

一键开设 Chrome 浏览器的容器

  • 已设置崩溃自启
  • 自带 web 的校验,可自设置密码
  • 可自定义容器最大的内存占用
  • 无需考虑是否支持嵌套虚拟化和服务器的架构
  • 支持声音映射

宿主机需要至少 1 核 2G 内存 10G 硬盘,开设的容器大小将占用起码 1G 硬盘

首次安装过程中最好在 screen 中挂起执行,避免长时间运行 SSH 连接断开

开设

如果未设置自定义用户名,开设后默认的用户名是oneclick

如果未设置自定义密码,开设后默认的密码是oneclick

默认的 http 端口是 3004,开设后打开http:// 本机 IPV4: 端口 即可

默认的 https 端口是 3005,开设后打开https:// 本机 IPV4: 端口 即可

shell

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onechromium.sh -o onechromium.sh && chmod +x onechromium.sh && bash onechromium.sh

删除

修改以下端口号 3004 为你实际的 http 端口号,然后执行命令回车两次即可删除容器、配置文件、对应镜像

shell

PORT="3004"
docker stop chromium_${PORT}
docker rm -f chromium_${PORT}
rm -rf /usr/local/bin/config_${PORT}
rm -rf /usr/local/bin/password_${PORT}
docker rmi lscr.io/linuxserver/chromium

注意事项

  • nginx,caddy 等 https 映射的时候要映射 3004 的端口,不要映射 3005 端口
  • 部署以后安静的等待 15 分钟,不然中文库没安装全,会出现不可预料的错误
  • 进入远程桌面浏览器以后点击左侧的设置 -> 点开输入法进行设置,不然没法输入中文

一键开设 Desktop 的容器

  • 已设置崩溃自启
  • 已设置带中文字体
  • 自带 web 的校验,可自设置用户名和密码
  • 可自定义容器最大的内存占用
  • 无需考虑是否支持嵌套虚拟化和服务器的架构
  • 支持声音映射,WEB 端可传输声音

完整的 Linux 桌面,可以在上面使用浏览器

宿主机需要至少 1 核 2G 内存 5G 硬盘,开设的容器大小将占用起码 3.2G 硬盘

开设

开设后默认的用户名是onew,密码是oneclick,默认的内存最大占用是 2GB

默认的 http 协议的 web 端口是 3004,默认的 https 协议的 web 端口是3005,开设后打开对应协议的 本机 IPV4: 端口 即可

shell

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewebtop.sh -o onewebtop.sh && chmod +x onewebtop.sh && bash onewebtop.sh

删除

执行

shell

docker ps -a

查询 name 的前缀是 webtop 的容器,记录容器的 ID 用

shell

docker rm -f 容器的 ID

删除所有关联的容器后可用

shell

docker rmi lscr.io/linuxserver/webtop

删除对应镜像

一键安装 guacamole

一个网页端连接 SSH 或 RDP 等协议控制服务器的玩意

网址:http:// 你的 IPV4 地址:80/guacamole

默认用户:guacadmin

默认密码:guacadmin

安装完毕登录后自行修改

宿主机的配置至少要有 1 核 2G 内存 10G 硬盘,否则开设可能会导致宿主机卡死!

国际

shell

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/extra_scripts/guacamole.sh -o guacamole.sh && chmod +x guacamole.sh && bash guacamole.sh

国内

shell

curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/extra_scripts/guacamole.sh -o guacamole.sh && chmod +x guacamole.sh && bash guacamole.sh

一键开设 RustDesk 的容器

  • 已设置崩溃自启
  • 无需考虑是否支持嵌套虚拟化和服务器的架构
  • 传输质量看你的服务器和各端之间的连通性和延迟

一个跨端的远控中继端(非客户端),支持双向控制

宿主机需要至少 1 核 1G 内存 10G 硬盘,对带宽的需求极低

开设

安装后客户端在这里找 https://github.com/rustdesk/rustdesk/releases/latest

在设置中设置中继服务器的 IP 即可,支持 Android、Windows、Linux、浏览器 端,支持电脑远控手机

shell

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onerustdesk.sh -o onerustdesk.sh && chmod +x onerustdesk.sh && bash onerustdesk.sh

删除

删除容器

shell

docker rm -f hbbs
docker rm -f hbbr

删除对应镜像

shell

docker rmi rustdesk/rustdesk-server

正文完
 0
admins
版权声明:本站原创文章,由 admins 于2024-06-10发表,共计5422字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)