之前在CentOS上使用一键部署脚本搭建过一个ShadowsocksR服务器,今天突发奇想在Docker上再搭建一个,这样的话两个VPS(一个在洛杉矶,一个在法国)上都有SS服务,可以切换着用。
Google了一下,找到了一篇相对简单的教程,Docker 镜像是由大佬teddysun制作的,基于官方 debian:stretch 制作,非常精简,有libev和R版,详见:https://hub.docker.com/u/teddysun/。
容器在启动时依赖于配置文件,第一步必须先在宿主机里对应的路径下把配置文件写好,可以参考以上给出的地址。
这里简单说一下搭建过程:
一、安装Docker。
二、拉取镜像
# shadowsocks-libev版:
docker pull teddysun/shadowsocks-libev
# shadowsocks-r版:
docker pull teddysun/shadowsocks-r
三、在etc目录下创建目录shadowsocks。
四、编写配置文件:
# shadowsocks-libev版:
{
“server”:”0.0.0.0″,
“server_port”:8338,
“password”:”password0″,
“timeout”:300,
“method”:”aes-256-gcm”,
“fast_open”:true,
“nameserver”:”8.8.8.8″,
“mode”:”tcp_and_udp”,
# 以下为simple-obfs 配置项 如不启用请注释或删除
“plugin”:”obfs-server”,
“plugin_opts”:”obfs=tls”
}
# shadowsocks-r版:
{
“server”:”0.0.0.0″,
“server_ipv6″:”::”,
“server_port”:8338,
“local_address”:”127.0.0.1″,
“local_port”:1080,
“password”:”password0″,
“timeout”:120,
“method”:”aes-256-cfb”,
“protocol”:”origin”,
“protocol_param”:””,
“obfs”:”http_simple”,
“obfs_param”:””,
“redirect”:””,
“dns_ipv6”:false,
“fast_open”:true,
“workers”:1
}
五、保存以上内容为到config.json文件
六、启动Docker
shadowsocks-libev版:
$ docker run –name shadowsocks-server –restart always -d -p 8388:8388 -p 8388:8388/udp -v /etc/shadowsocks:/etc/shadowsocks-libev teddysun/shadowsocks-libev
shadowsocks-r版:
$ docker run –name shadowsocks-server –restart always -d -p 8388:8388 -p 8388:8388/udp -v /etc/shadowsocks:/etc/shadowsocks-r teddysun/shadowsocks-r
注意事项
docker启动参数的-p表示docker容器端口号(冒号后)和宿主机端口号(冒号前)映射关系,容器端口号与配置文件的server_port一致,宿主机端口号可以自定;-v参数表示容器与宿主机的目录映射关系,冒号前的部分为宿主机目录,与第三步中创建的目录一致;–restart always不是必须的参数,之所以增加这个参数是为了在docker启动的时候自动启动当前创建的容器。
配置客户端
ShadowsocksR for Windows
Wingy
参考:【使用docker快速部署Shadowsocks-libev、ShadowsocksR】