这是基于官方 ghcr.io/shadowsocks/ssserver-rust 的单一派生镜像。
arm/v7 变体。linux/386、linux/amd64、linux/arm64。BASE_IMAGE 传入构建。vX.Y.Z 和 latest,同时发布至 GHCR 与 Docker Hub:
ghcr.io/<owner>/shadowsocks-rust<dockerhub-username>/shadowsocks-rustdocker run -d \
--name shadowsocks-rust \
--restart unless-stopped \
-p 8388:8388/tcp \
-p 8388:8388/udp \
-e SS_SERVER_PORT=8388 \
-e SS_PASSWORD='replace-with-a-strong-password' \
-e SS_METHOD=aes-256-gcm \
ghcr.io/cary17/shadowsocks-rust:v1.24.0
当 /etc/shadowsocks-rust/config.json 不存在时,入口脚本会使用环境变量安全生成它。生成的配置文件权限为 0600。若你挂载了已有配置文件,入口脚本不会覆盖它。
docker run -d \
--name shadowsocks-rust \
--restart unless-stopped \
-p 8388:8388/tcp -p 8388:8388/udp \
-p 8389:8389/tcp -p 8389:8389/udp \
-e SS_SERVER_PORT_1=8388 \
-e SS_PASSWORD_1='first-strong-password' \
-e SS_METHOD_1=aes-256-gcm \
-e SS_SERVER_PORT_2=8389 \
-e SS_PASSWORD_2='second-strong-password' \
-e SS_METHOD_2=chacha20-ietf-poly1305 \
ghcr.io/cary17/shadowsocks-rust:v1.24.0
仅识别带纯数字后缀的变量,例如 SS_SERVER_PORT_1;SS_SERVER_PORT_TEST 会被忽略。
docker run -d \
--name shadowsocks-rust \
--restart unless-stopped \
-p 8388:8388/tcp \
-p 8388:8388/udp \
-v "$PWD/config.json:/etc/shadowsocks-rust/config.json:ro" \
ghcr.io/cary17/shadowsocks-rust:v1.24.0
配置文件格式遵循 shadowsocks-rust 官方文档。
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
SS_SERVER_PORT | 是 | — | 监听端口,范围 1–65535 |
SS_PASSWORD | 是 | — | 密码;会进行 JSON 转义 |
SS_METHOD | 是 | — | 加密方法,例如 aes-256-gcm |
SS_SERVER | 否 | :: | 监听地址 |
SS_TIMEOUT | 否 | 7200 | 超时秒数,整数 |
SS_MODE | 否 | tcp_and_udp | 工作模式 |
SS_DNS | 否 | — | DNS 服务器 |
SS_DISABLED | 否 | false | 必须是 true 或 false |
SS_TCP_WEIGHT / SS_UDP_WEIGHT | 否 | 1.0 | 数值权重 |
SS_OUTBOUND_BIND_INTERFACE | 否 | — | 出站网络接口 |
SS_OUTBOUND_BIND_ADDR | 否 | — | 出站绑定地址 |
SS_OUTBOUND_FWMARK | 否 | — | 整数 fwmark |
SS_OUTBOUND_UDP_ALLOW_FRAGMENTATION | 否 | false | 必须是 true 或 false |
多端口模式将每个变量附加相同数字后缀,例如 SS_PASSWORD_2。
./tests/test-project.sh
BASE_IMAGE='ghcr.io/shadowsocks/ssserver-rust:v1.24.0@sha256:85d01da9879b30b0784aea2b5ffceb5234d59cd81082064c08ebb113324e1359'
docker build \
--build-arg "BASE_IMAGE=$BASE_IMAGE" \
-t shadowsocks-rust:local .
docker run --rm \
-e SS_SERVER_PORT=8388 \
-e SS_PASSWORD=test-password \
-e SS_METHOD=aes-256-gcm \
shadowsocks-rust:local ssserver --version
Content type
Image
Digest
sha256:776d341b1…
Size
7.8 MB
Last updated
about 1 month ago
docker pull cary17/shadowsocks-rust