已添加 docker/README.md

This commit is contained in:
juewuy
2025-12-18 22:11:59 +08:00
parent dcbac5aa6b
commit 36cfe84a95

102
docker/README.md Normal file
View File

@@ -0,0 +1,102 @@
# ShellCrash (Official Docker Image)
**ShellCrash 官方 Docker 镜像**,用于在容器环境中运行 ShellCrash支持 **HTTP / SOCKS 代理****旁路由透明代理** 两种部署模式。
该镜像由 **ShellCrash 官方维护**,基于原项目脚本构建,并通过 Docker 多架构机制发布。
------
## Quick Start最小化运行
仅启用 HTTP(S) / SOCKS5 代理功能适用于基础代理需求Mix代理端口7890面板管理端口9999。
```shell
docker run -d \
--name shellcrash \
-p 7890:7890 \
-p 9999:9999 \
shellcrash:latest
```
### 容器管理
首次部署完成后请务必使用以下命令进入容器完成设置导入配置文件允许开机启动及启动内核服务之后也可用此命令进入容器sh环境进行管理
```shell
docker exec -it shellcrash sh -l
```
------
## Advanced Usage旁路由 / 透明代理)
适用于旁路由、软路由或需要透明代理的部署场景需提前创建macvlan这里不推荐使用容器的host模式。
### 1. 创建 macvlan 网络
> 此处请根据实际网络环境调整参数,如之前已创建可忽略。
```shell
docker network create \
--driver macvlan \
--subnet 192.168.31.0/24 \
--gateway 192.168.31.1 \
-o parent=eth0 \
macvlan_lan
```
------
### 2. 启动容器(旁路由模式)
```shell
docker run -d \
--name shellcrash \
--network macvlan_lan \
--ip 192.168.31.222 \
--cap-add NET_ADMIN \
--cap-add NET_RAW \
--cap-add SYS_ADMIN \
--device /dev/net/tun:/dev/net/tun \
--restart unless-stopped \
shellcrash:latest
```
------
### 3.配置需要路由的设备
将需要路由的设备IPV4网关与DNS均指向启动容器时指定的IP地址如192.168.31.222
注意旁路由模式必须禁用子设备的IPV6地址或主路由的IPV6功能否则流量可能会经由IPV6直连而不会进入旁路由转发
------
## Persistent Configuration持久化配置,可选)
推荐使用 volume 挂载以持久化 ShellCrash 配置。
### 创建宿主机目录
```shell
mkdir -p /root/ShellCrash
```
### 启用持久化
将命令粘贴到你的实际容器启动命令中间,例如:
```shell
docker run -d \
………………
-v /root/ShellCrash:/etc/ShellCrash \
………………
```
------
## Notes
- 旁路由模式需要宿主机支持 `TUN`
- macvlan 网络下宿主机默认无法直接访问容器 IP
- 透明代理场景可能需要额外的网络规划