import{_ as s,v as a,b as o,R as l}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"使用Docker一键安装某些容器的脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_custom.md","filePath":"guide/docker/docker_custom.md","lastUpdated":1716119231000}'),n={name:"guide/docker/docker_custom.md"},p=l(`
每个容器都有对应的配置要求,自行查看,内存不够的用这个开设虚拟内存补足也行
注意,以下脚本使用前务必使用本套教程中的环境安装脚本进行前期环境安装
宿主机的配置至少要有1核2G内存15G硬盘,否则开设可能会导致宿主机卡死
宿主机推荐 Ubuntu 系统,Debian 系统可能导致安卓屏幕白屏
安卓版本越新占用越大,以上的配置要求是最低版本安卓的配置要求 (个人测试到 12.0.0-latest 的tag可用,更高版本映射白屏了,自己测试哪个能用吧)
如果开设后,过了5分钟浏览器网页的登录验证还是一直失败,那么请查询安卓容器的日志,大概率安卓容器崩溃了,建议更换更低的安卓系统版本的容器进行安装
开设
国际
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国内
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宿主机需要支持嵌套虚拟化,且暂时只支持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开设后默认的用户名是Administrator和vagrant
默认的密码是vagrant
如果你选择开设映射的外网端口,务必登录后修改对应账户的密码(两个账户都可能有,自行尝试),否则可能被人爆破滥用
删除
需要删除对应镜像和容器,先执行docker ps -a和docker 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,比我的项目的镜像需求要求更大。(他的项目优点是可以自定义很多配置项,详见他对应的项目说明。)
宿主机需要至少1核2G内存5G硬盘,开设的容器大小将占用起码1G硬盘
开设
如果未设置自定义密码,开设后默认的密码是oneclick。
默认的web端口是3003,开设后打开本机IPV4:端口即可
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onefirefox.sh -o onefirefox.sh && chmod +x onefirefox.sh && bash onefirefox.sh删除
修改以下端口号3003为你实际的端口号,然后执行命令回车两次即可删除容器、配置文件、对应镜像
PORT="3003"
docker stop firefox_\${PORT}
docker rm -f firefox_\${PORT}
rm -rf /usr/local/bin/firefox_\${PORT}
docker rmi jlesage/firefox宿主机需要至少1核2G内存10G硬盘,开设的容器大小将占用起码1G硬盘
首次安装过程中最好在screen中挂起执行,避免长时间运行SSH连接断开
开设
如果未设置自定义用户名,开设后默认的用户名是oneclick。
如果未设置自定义密码,开设后默认的密码是oneclick。
默认的http端口是3004,开设后打开http://本机IPV4:端口即可
默认的https端口是3005,开设后打开https://本机IPV4:端口即可
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onechromium.sh -o onechromium.sh && chmod +x onechromium.sh && bash onechromium.sh删除
修改以下端口号3004为你实际的http端口号,然后执行命令回车两次即可删除容器、配置文件、对应镜像
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注意事项
完整的Linux桌面,可以在上面使用浏览器
宿主机需要至少1核2G内存5G硬盘,开设的容器大小将占用起码3.2G硬盘
开设
开设后默认的用户名是onew,密码是oneclick,默认的内存最大占用是2GB
默认的http协议的web端口是3004,默认的https协议的web端口是3005,开设后打开对应协议的本机IPV4:端口即可
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewebtop.sh -o onewebtop.sh && chmod +x onewebtop.sh && bash onewebtop.sh删除
执行
docker ps -a查询name的前缀是webtop的容器,记录容器的ID用
docker rm -f 容器的ID删除所有关联的容器后可用
docker rmi lscr.io/linuxserver/webtop删除对应镜像
一个网页端连接SSH或RDP等协议控制服务器的玩意
网址:http://你的IPV4地址:80/guacamole
默认用户: guacadmin
默认密码: guacadmin
安装完毕登录后自行修改
宿主机的配置至少要有1核2G内存10G硬盘,否则开设可能会导致宿主机卡死!
国际
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/extra_scripts/guacamole.sh -o guacamole.sh && chmod +x guacamole.sh && bash guacamole.sh国内
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一个跨端的远控中继端(非客户端),支持双向控制
宿主机需要至少1核1G内存10G硬盘,对带宽的需求极低
开设
安装后客户端在这里找 https://github.com/rustdesk/rustdesk/releases/latest
在设置中设置中继服务器的IP即可,支持 Android、Windows、Linux、浏览器 端,支持电脑远控手机
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onerustdesk.sh -o onerustdesk.sh && chmod +x onerustdesk.sh && bash onerustdesk.sh删除
删除容器
docker rm -f hbbs
docker rm -f hbbr删除对应镜像
docker rmi rustdesk/rustdesk-server