拉取镜像
docker pull teddysun/shadowsocks-r
或者拉取基于 python:3.6-alpine 镜像制作的
docker pull teddysun/shadowsocks-r:alpine
创建 config 文件
比如在目录 /etc/shadowsocks-r 下创建 config.json,完整路径也就是 /etc/shadowsocks-r/config.json
范例内容如下:
{ "server":"0.0.0.0", "server_ipv6":"::", "server_port":9000, "forbidden_port": "25", "local_address":"127.0.0.1", "local_port":1080, "password":"123wc@", "timeout":120, "method":"rc4-md5", "protocol":"auth_aes128_sha1", "protocol_param":"", "obfs":"http_simple_compatible", "obfs_param":"", "redirect":"", "dns_ipv6":false, "fast_open":true, "workers":1 }
ShadowsocksR 协议插件文档的含义,可以参考这个链接。
启动容器
在上面这个范例里,定义的端口是 9000,那么在启动容器时就需要将 9000 端口映射到宿主机的对外端口上。
启动命令:
docker run -d -p 15599:9000 -p 15599:9000/udp --name ssr -v /root/ssr:/etc/shadowsocks-r xctcc/ssr
{
"server":"0.0.0.0",
"server_ipv6":"::",
"server_port":9000,
"forbidden_port": "25",
"local_address":"127.0.0.1",
"local_port":1080,
"password":"123wc@",
"timeout":120,
"method":"rc4-md5",
"protocol":"auth_aes128_sha1",
"protocol_param":"",
"obfs":"http_simple_compatible",
"obfs_param":"",
"redirect":"",
"dns_ipv6":false,
"fast_open":true,
"workers":1
}
docker run -d -p 9000:9000 -p 9000:9000/udp --name ssr -v /etc/shadowsocks-r:/etc/shadowsocks-r teddysun/shadowsocks-r
启动 Tag 为 alpine 的镜像命令:
docker run -d -p 9000:9000 -p 9000:9000/udp --name ssr -v /etc/shadowsocks-r:/etc/shadowsocks-r teddysun/shadowsocks-r:alpine
注意:此处仅作为演示,不能同时执行上面的这两个启动命令,因为端口都是 9000,产生冲突了。一般我是推荐选 Tag 为 alpine 的镜像的,因为文件的体积会相对比较小。