mirror of
https://github.com/oneclickvirt/oneclickvirt.github.io.git
synced 2026-06-05 02:46:27 +08:00
update
This commit is contained in:
164
docs/guide/docker/docker_build.md
Normal file
164
docs/guide/docker/docker_build.md
Normal file
@@ -0,0 +1,164 @@
|
||||
---
|
||||
outline: deep
|
||||
---
|
||||
|
||||
# 前言
|
||||
|
||||
两种开设方式
|
||||
|
||||
## 单独开设
|
||||
|
||||
- 只生成一个docker,这里有判断为国际服务器还是国内服务器,如果在国内服务器上开设,容器内的包管理源自动替换为清华源
|
||||
- 可配置绑定独立的IPV6地址,但需要先前使用本套脚本的环境安装命令安装的docker,且需要宿主机至少绑定了/112的IPV6子网
|
||||
- 支持x86_64和ARM架构的服务器
|
||||
|
||||
### 下载脚本
|
||||
|
||||
国际
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
|
||||
```
|
||||
|
||||
国内
|
||||
|
||||
```shell
|
||||
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
|
||||
```
|
||||
|
||||
### 示例
|
||||
|
||||
运行支持的变量
|
||||
|
||||
```
|
||||
./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>
|
||||
```
|
||||
|
||||
目前system仅支持选择
|
||||
|
||||
- alpine
|
||||
- debian
|
||||
- ubuntu
|
||||
- almalinux
|
||||
|
||||
默认不填则是debian
|
||||
|
||||
```shell
|
||||
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian
|
||||
```
|
||||
|
||||
以下为开设的示例容器的信息:
|
||||
|
||||
| 属性 | 值 |
|
||||
|------------------------|----------------|
|
||||
| 容器名字 | test |
|
||||
| SSH登录的用户名 | root |
|
||||
| SSH登录的密码 | 123456 |
|
||||
| CPU核数 | 1 |
|
||||
| 内存大小 | 512MB |
|
||||
| SSH端口 | 25000 |
|
||||
| 内外网映射端口一致的区间 | 34975到35000 |
|
||||
| 系统 | debian |
|
||||
| 是否绑定独立的IPV6地址 | N |
|
||||
|
||||
### 相关操作
|
||||
|
||||
删除示例
|
||||
|
||||
```shell
|
||||
docker rm -f test
|
||||
rm -rf test
|
||||
ls
|
||||
```
|
||||
|
||||
进入示例
|
||||
|
||||
```shell
|
||||
docker exec -it test /bin/bash
|
||||
```
|
||||
|
||||
要退出容器就执行```exit```退出。
|
||||
|
||||
查询已开设的信息
|
||||
|
||||
```shell
|
||||
cat 容器名字
|
||||
```
|
||||
|
||||
输出格式
|
||||
|
||||
```
|
||||
容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止
|
||||
```
|
||||
|
||||
docker的ipv6地址只能在容器内自己查询,在docker的配置中是不存在的
|
||||
|
||||
## 批量开设
|
||||
|
||||
- 批量多次运行继承配置生成
|
||||
- 生成多个时为避免SSH连接中断建议在screen中执行
|
||||
- 支持x86_64和ARM架构的服务器
|
||||
|
||||
### 运行
|
||||
|
||||
国际
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/create_docker.sh -o create_docker.sh && chmod +x create_docker.sh && bash create_docker.sh
|
||||
```
|
||||
|
||||
国内
|
||||
|
||||
```shell
|
||||
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh
|
||||
```
|
||||
|
||||
### 查询批量开设的信息
|
||||
|
||||
```shell
|
||||
cat dclog
|
||||
```
|
||||
|
||||
输出格式
|
||||
|
||||
```
|
||||
容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止
|
||||
```
|
||||
|
||||
一行一个容器对应的信息,docker的ipv6地址只能在容器内自己查询,在docker的配置中是不存在的
|
||||
|
||||
## 卸载所有docker容器和镜像
|
||||
|
||||
以下命令卸载会忽略ndpresponder,以防止IPV6的配置失效
|
||||
|
||||
```shell
|
||||
docker ps -aq --format '{{.Names}}' | grep -E '^ndpresponder' | xargs -r docker rm -f
|
||||
docker images -aq --format '{{.Repository}}:{{.Tag}}' | grep -E '^ndpresponder' | xargs -r docker rmi
|
||||
rm -rf dclog
|
||||
ls
|
||||
```
|
||||
|
||||
## 更新上述所有脚本
|
||||
|
||||
删除原始配置脚本
|
||||
|
||||
```bash
|
||||
rm -rf /usr/local/bin/ssh_sh.sh
|
||||
rm -rf /usr/local/bin/ssh_bash.sh
|
||||
rm -rf /usr/local/bin/check-dns.sh
|
||||
rm -rf /root/ssh_sh.sh
|
||||
rm -rf /root/ssh_bash.sh
|
||||
rm -rf /root/onedocker.sh
|
||||
rm -rf /root/create_docker.sh
|
||||
```
|
||||
|
||||
下载回新版本的相关配置脚本
|
||||
|
||||
```bash
|
||||
wget https://raw.githubusercontent.com/spiritLHLS/docker/main/extra_scripts/check-dns.sh -O /usr/local/bin/check-dns.sh && chmod +x /usr/local/bin/check-dns.sh
|
||||
wget https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/config.sh -O /usr/local/bin/config.sh && chmod +x /usr/local/bin/config.sh
|
||||
wget https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/ssh_bash.sh -O /usr/local/bin/ssh_bash.sh && chmod +x /usr/local/bin/ssh_bash.sh
|
||||
wget https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/ssh_sh.sh -O /usr/local/bin/ssh_sh.sh && chmod +x /usr/local/bin/ssh_sh.sh
|
||||
wget https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/onedocker.sh -O /root/onedocker.sh && chmod +x /root/onedocker.sh
|
||||
wget https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/create_docker.sh -O /root/create_docker.sh && chmod +x /root/create_docker.sh
|
||||
```
|
||||
324
docs/guide/docker/docker_custom.md
Normal file
324
docs/guide/docker/docker_custom.md
Normal file
@@ -0,0 +1,324 @@
|
||||
---
|
||||
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)开设虚拟内存补足也行
|
||||
|
||||
注意,以下脚本使用前务必使用本套教程中的环境安装脚本进行前期环境安装
|
||||
|
||||
## 一键开设Android系统的容器
|
||||
|
||||
- 自定义安卓版本
|
||||
- 自动创建带校验的web网站
|
||||
- 自动进行nginx安装和反向代理的配置,可选择是否绑定域名,默认回车不绑定使用80端口
|
||||
- 无需考虑宿主机是否支持嵌套虚拟化
|
||||
- 支持x86_64和ARM架构
|
||||
|
||||
**宿主机的配置至少要有1核2G内存15G硬盘,否则开设可能会导致宿主机卡死**
|
||||
|
||||
宿主机推荐 Ubuntu 系统,Debian 系统可能导致安卓屏幕白屏
|
||||
|
||||
安卓版本越新占用越大,以上的配置要求是最低版本安卓的配置要求 (个人测试到 12.0.0-latest 的tag可用,更高版本映射白屏了,自己测试哪个能用吧)
|
||||
|
||||
**开设**
|
||||
|
||||
国际
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/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/spiritLHLS/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 rm -f scrcpy_web
|
||||
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/spiritLHLS/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限制)
|
||||
|
||||
## 一键开设Firefox浏览器的容器
|
||||
|
||||
- 已设置崩溃自启
|
||||
- 已设置带中文字体
|
||||
- 自带web的校验,可自设置密码
|
||||
- 可自定义容器最大的内存占用
|
||||
- 可选是否开启VNC端口,默认不开启
|
||||
- 无需考虑是否支持嵌套虚拟化和服务器的架构
|
||||
- 不支持声音映射,无论是WEB端还是VNC端都无法传输声音
|
||||
|
||||
**宿主机需要至少1核2G内存5G硬盘,开设的容器大小将占用起码1G硬盘**
|
||||
|
||||
**开设**
|
||||
|
||||
开设后默认的密码是```oneclick```
|
||||
|
||||
默认的web端口是```3003```,开设后打开```本机IPV4:端口```即可
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/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内存5G硬盘,开设的容器大小将占用起码1G硬盘**
|
||||
|
||||
**开设**
|
||||
|
||||
开设后默认的密码是```oneclick```
|
||||
|
||||
默认的http端口是```3004```,开设后打开```http://本机IPV4:端口```即可
|
||||
|
||||
默认的https端口是```3005```,开设后打开```https://本机IPV4:端口```即可
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/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
|
||||
```
|
||||
|
||||
## 一键开设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/spiritLHLS/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/spiritLHLS/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/spiritLHLS/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](https://github.com/rustdesk/rustdesk/releases/latest)
|
||||
|
||||
在设置中设置中继服务器的IP即可,支持 Android、Windows、Linux、浏览器 端,支持电脑远控手机
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/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
|
||||
```
|
||||
|
||||
63
docs/guide/docker/docker_install.md
Normal file
63
docs/guide/docker/docker_install.md
Normal file
@@ -0,0 +1,63 @@
|
||||
---
|
||||
outline: deep
|
||||
---
|
||||
|
||||
|
||||
# 前言
|
||||
|
||||
支持开设 Docker 虚拟化的各系统,含 Linux、Android、Windows 系统
|
||||
|
||||
如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看```LXD```模块中的```自定义```分区中的```给宿主机附加免费的IPV6地址段```的内容,给宿主机附加上IPV6子网后再进行环境安装
|
||||
|
||||
## 开设虚拟内存
|
||||
|
||||
:::tip
|
||||
内存开点swap免得机器炸了
|
||||
:::
|
||||
|
||||
单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用
|
||||
|
||||
建议只开实际内存大小两倍大小的虚拟内存
|
||||
|
||||
国际
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh
|
||||
```
|
||||
|
||||
国内
|
||||
|
||||
```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
|
||||
```
|
||||
|
||||
## 环境预设
|
||||
|
||||
- 检测系统环境,安装对应组件
|
||||
- 安装docker和docker-compose,这里有判断为国际服务器还是国内服务器,自动安装对应源的docker
|
||||
- 下载默认需要的一些配置脚本
|
||||
- 检测如果存在IPV6地址,检测其是否大于或等于/112,如果符合条件,则配置docker的ipv6的网络
|
||||
- 如果上述条件都符合,创建ndpresponder的docker和radvd,使得IPV6的分配支持ndp广播和自动分配
|
||||
- 支持x86_64和ARM架构的服务器
|
||||
|
||||
国际
|
||||
|
||||
```shell
|
||||
curl -L https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh
|
||||
```
|
||||
|
||||
国内
|
||||
|
||||
```shell
|
||||
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh
|
||||
```
|
||||
|
||||
或
|
||||
|
||||
```
|
||||
bash dockerinstall.sh
|
||||
```
|
||||
|
||||
:::tip
|
||||
环境安装过程中可能要求你重启服务器后再次执行脚本,详见脚本运行后的说明
|
||||
:::
|
||||
37
docs/guide/docker/docker_precheck.md
Normal file
37
docs/guide/docker/docker_precheck.md
Normal file
@@ -0,0 +1,37 @@
|
||||
---
|
||||
outline: deep
|
||||
---
|
||||
|
||||
# 前言
|
||||
|
||||
以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了
|
||||
|
||||
:::warning
|
||||
如果宿主机带IPV6网络的话,安装会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上
|
||||
:::
|
||||
|
||||
如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看```LXD```模块中的```自定义```分区中的```给宿主机附加免费的IPV6地址段```的内容,给宿主机附加上IPV6子网后再进行环境安装
|
||||
|
||||
## 项目特点
|
||||
|
||||
通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)
|
||||
|
||||
默认使用debian系统可选alpine系统,每个容器自带1个外网ssh端口,25个内外网一致端口,可选择是否绑定IPV6地址
|
||||
|
||||
默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以**宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker**
|
||||
|
||||
默认安装并启用lxcfs,使得在容器内的查询资源时CPU和内存使用的是配置的视图而不是宿主机的视图
|
||||
|
||||
由于大部分云服务器是ext4文件系统,docker默认的存储引擎是overlayfs2,即便宿主机的文件系统是xfs,默认也不会启用pquota选项,所以**默认共享宿主机硬盘,无法限制每个容器的磁盘大小**
|
||||
|
||||
## 配置要求
|
||||
|
||||
系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行
|
||||
|
||||
(如果需要绑定IPV6地址,那么请保证使用本套脚本的环境预设脚本进行环境安装,需要它自动预设部分设置)
|
||||
|
||||
如果硬件资源只是好了一点,需要限制更多东西并需要限制硬盘大小,可使用LXD分区的脚本批量开LXC虚拟化的容器
|
||||
|
||||
如果硬件非常好资源很多,可使用PVE分区的脚本批量开KVM虚拟化的虚拟机
|
||||
|
||||
推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致宿主机卡死
|
||||
67
docs/guide/docker/docker_qa.md
Normal file
67
docs/guide/docker/docker_qa.md
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
outline: deep
|
||||
---
|
||||
|
||||
# 解惑
|
||||
|
||||
## 常见的一些docker命令
|
||||
|
||||
查询某个容器的实时占用
|
||||
|
||||
```
|
||||
docker stats 容器名字
|
||||
```
|
||||
|
||||
进入某个容器
|
||||
|
||||
```
|
||||
docker exec -it 容器名字 /bin/bash
|
||||
```
|
||||
|
||||
清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等
|
||||
|
||||
```
|
||||
docker system prune -a
|
||||
```
|
||||
|
||||
卸载所有docker的镜像和容器
|
||||
|
||||
```
|
||||
docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)
|
||||
```
|
||||
|
||||
查看对应容器日志
|
||||
|
||||
```
|
||||
docker logs 容器名字或ID
|
||||
```
|
||||
|
||||
查看docker整体的disk占用
|
||||
|
||||
```
|
||||
docker system df
|
||||
```
|
||||
|
||||
查看所有容器
|
||||
|
||||
```
|
||||
docker ps -a
|
||||
```
|
||||
|
||||
查看所有镜像
|
||||
|
||||
```
|
||||
docker images
|
||||
```
|
||||
|
||||
删除某个特定容器
|
||||
|
||||
```
|
||||
docker rm -f 容器名字或ID
|
||||
```
|
||||
|
||||
删除某个特定镜像
|
||||
|
||||
```
|
||||
docker rmi 镜像名字或ID
|
||||
```
|
||||
39
docs/guide/docker/docker_thanks.md
Normal file
39
docs/guide/docker/docker_thanks.md
Normal file
@@ -0,0 +1,39 @@
|
||||
## 致谢
|
||||
|
||||
https://hub.docker.com/_/debian
|
||||
|
||||
https://hub.docker.com/r/redroid/redroid
|
||||
|
||||
https://github.com/NetrisTV/ws-scrcpy
|
||||
|
||||
https://guacamole.apache.org/doc/gug/introduction.html
|
||||
|
||||
https://blog.imoeq.com/oracle-arm-run-android-by-docker
|
||||
|
||||
https://blog.imoeq.com/scrcpy-run-a-android-web-page
|
||||
|
||||
https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/
|
||||
|
||||
https://releases.hashicorp.com/vagrant/
|
||||
|
||||
https://github.com/hashicorp/vagrant/
|
||||
|
||||
https://app.vagrantup.com/peru
|
||||
|
||||
https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1
|
||||
|
||||
https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4
|
||||
|
||||
https://github.com/jlesage/docker-firefox
|
||||
|
||||
https://github.com/linuxserver/docker-webtop
|
||||
|
||||
https://github.com/rustdesk/rustdesk
|
||||
|
||||
https://github.com/yoursunny/ndpresponder
|
||||
|
||||
https://github.com/linuxserver/docker-chromium
|
||||
|
||||
https://github.com/SuperManito/LinuxMirrors
|
||||
|
||||
感谢 [@Ella-Alinda](https://github.com/Ella-Alinda) 和 @CoiaPrant 提供的Docker指导
|
||||
Reference in New Issue
Block a user