安装 Docker
具体针对自己的服务器,参照 Overview of Docker editions | Docker Documentation 选择对应的版本进行安装
创建用户组
因为在 Docker 执行的用户,是非 root 的用户,所以这里需要创建一个 docker 的用户组。
1
| sudo usermod -aG docker $user
|
需要退出登录,重新进入才会生效。
编写镜像
创建一个目录,在目录下创建一个 Dockerfile
的文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| # Dockerfile for ShadowsocksR
# Copyright (C) 2018 - 2019 Teddysun <i@teddysun.com>
# Reference URL:
# https://github.com/shadowsocksrr/shadowsocksr
FROM debian:stretch
LABEL maintainer="david"
RUN set -ex \
&& apt-get update \
&& apt-get install -y wget python libsodium-dev openssl \
&& rm -rf /var/lib/apt/lists/* \
&& wget -O /tmp/shadowsocksr-3.2.2.tar.gz https://github.com/shadowsocksrr/shadowsocksr/archive/3.2.2.tar.gz \
&& tar zxf /tmp/shadowsocksr-3.2.2.tar.gz -C /tmp \
&& mv /tmp/shadowsocksr-3.2.2/shadowsocks /usr/local/ \
&& rm -fr /tmp/shadowsocksr-3.2.2 \
&& rm -f /tmp/shadowsocksr-3.2.2.tar.gz
COPY ./config_ssr.json /etc/shadowsocks-r/config.json
VOLUME /etc/shadowsocks-r
CMD ["/usr/local/shadowsocks/server.py", "-c", "/etc/shadowsocks-r/config.json" ]
|
此目录下需要一个 config_ssr.json 的文件,用来配置 ssr 的参数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| {
"server":"0.0.0.0",
"server_ipv6":"[::]",
"server_port":xxxxxx,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"xxxxxx",
"timeout":120,
"method":"rc4-md5",
"protocol":"origin",
"protocol_param":"",
"obfs":"plain",
"obfs_param":"",
"redirect":"",
"dns_ipv6":false,
"fast_open":false,
"workers":1
}
|
这里的参数可参照,https://github.com/shadowsocksrr/shadowsocksr 进行设置。注意 server_port 与 password 的设置。
创建镜像
在当前目录下,执行如下命令
1
| docker build -t shadowsocks:v1 .
|
shadowsocks 为创建的服务名称,v1 表示的是版本,.
指的是以当前的目录,为执行的上下文。
创建容器
可使用 docker image ls
来查看当前 docker 中的镜像。
1
| docker run -d -p 12345:12345 shadowsocks:v1
|
-d 指定在后台创建, -p 指定的是端口的映射。这里是说将创建出来的 shadowsocks:v1 容器的端口 12345 映射至服务器的端口。
这样,便完成了 SSR 的服务创建,可自行测试服务是否正常工作了。