feat: 丰富Docker说明

This commit is contained in:
spiritlhl
2025-05-12 07:42:00 +00:00
parent 60254290c0
commit 8b4a082389
4 changed files with 196 additions and 151 deletions

View File

@@ -0,0 +1,62 @@
---
outline: deep
---
## 一键开设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
```

View File

@@ -4,160 +4,16 @@ outline: deep
# 使用Docker一键安装某些容器的脚本
每个容器都有对应的配置要求,自行查看,内存不够的用[这个](https://virt.spiritlhl.net/guide/docker_install.html#%E5%BC%80%E8%AE%BE%E8%99%9A%E6%8B%9F%E5%86%85%E5%AD%98)开设虚拟内存补足也行
每个容器都有对应的配置要求,自行查看,内存不够的用[https://github.com/spiritLHLS/addswap](https://github.com/spiritLHLS/addswap)的
```shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh
```
开设虚拟内存补足也行
注意,以下脚本使用前务必使用本套教程中的环境安装脚本进行前期环境安装
## 一键开设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](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 - 同类项目他支持的系统更多但资源需求更多同时开设过程中需要额外下载iso装载docker容器本身只有脚本安装缓慢
https://github.com/dockur/windows-arm/ - 同类项目他支持的系统更多但资源需求更多同时开设过程中需要额外下载iso装载docker容器本身只有脚本安装缓慢
注意上述的两个项目都要求宿主机的CPU至少4核内存至少4G硬盘至少64G比我的项目的镜像需求要求更大。(他的项目优点是可以自定义很多配置项,详见他对应的项目说明。)
## 一键开设Firefox浏览器的容器
- 已设置崩溃自启

View File

@@ -0,0 +1,3 @@
---
outline: deep
---

View File

@@ -0,0 +1,124 @@
---
outline: deep
---
## 开设Windows系统虚拟机
## 一键开设(通过vagrant)
- 共享宿主机所有资源(CPU、内存、硬盘)基于docker所以只占用系统的大小适合多开
- 共享IP做了docker的NAT映射可选择是否映射到外网或仅内网
- 设置的win系统默认最多占用为1核2G内存50G硬盘实际占用看使用情况
- 无需iptables进行NAT映射删除容器时自动删除了端口的映射方便维护
- 需要考虑宿主机是否支持嵌套虚拟化暂时只支持X86_64架构的系统
**宿主机需要支持嵌套虚拟化且暂时只支持X86_64架构的系统**
执行
```
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](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限制)
## 通过dockur手动开设
原项目
https://github.com/dockur/windows
https://github.com/dockur/windows-arm
注意这两个项目都要求宿主机的CPU至少4核内存至少4G硬盘至少64G。如果不魔改启动脚本那么这些最低限制是需要额外参数进行修改的。
如果需要魔改脚本,可参考
https://www.spiritysdx.top/20250405/
https://www.spiritysdx.top/20250315/
进行魔改
对于X86_64架构
这里提供一个已经魔改好的单文件版本的docker容器的tar包通过这个tar包可以自己制作新的Windows镜像
https://github.com/oneclickvirt/docker/releases/download/amd64_builder/builder.tar
```shell
docker load -i builder.tar
```
```shell
docker run -it -d -e RAM_SIZE="8G" -e CPU_CORES="4" --name win2022 -p 8006:8006 --device=/dev/kvm --device=/dev/net/tun --cap-add NET_ADMIN -v ./当前路径下你下好的Windows的iso镜像名称带尾缀:/boot.iso --stop-timeout 120 windows:builder
```
这里也提供一个成品的镜像内置Windows镜像内置自动硬盘扩容自启任务docker导入后即可使用