Posts 搭梯之旅: Docker 运行 Shadowsocks
Post
Cancel

搭梯之旅: Docker 运行 Shadowsocks

在更换一台新的梯子型 VPS 时,需要快速搭建 Shadowsocks,在运行 Linux 的 VPS 上采用 Docker 镜像安装将是个十分便捷的选择:无须考虑各种软件依赖对机器环境的污染( Linux 跑服务不用 Docker 就是原罪)。

虽然搭梯子频率很低,但在实施的时候,须翻阅好几个网站看文档,略烦。所以本文将略微讲述采用 Docker 搭建 Shadowsocks Server 的过程。

安装 Docker Engine

因为是裸机,所以安装 Docker Engine 是不能偷懒的,参考 Docker 官方文档 完成安装。出于本人的个人需要,下面将摘录在 Ubuntu Server 安装的步骤

配置 apt 仓库

  1. 为了允许服务器通过 HTTPS 拉取 Docker 仓库,需要更新 apt 索引以及安装所需的 packages:

    1
    2
    3
    4
    5
    6
    7
    
    $ sudo apt-get update
    $ sudo apt-get install -y \
         apt-transport-https \
         ca-certificates \
         curl \
         gnupg-agent \
         software-properties-common
    
  2. 添加 Docker 的 GPG key:

    1
    
    $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  3. 正确的指纹是 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88,通过后八位字符验证指纹:

    1
    2
    3
    4
    5
    6
    
    $ sudo apt-key fingerprint 0EBFCD88
        
     pub   rsa4096 2017-02-22 [SCEA]
           9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
     uid           [ unknown] Docker Release (CE deb) <docker@docker.com>
     sub   rsa4096 2017-02-22 [S]
    
  4. 添加 x86_64 / amd64 仓库

    1
    2
    3
    4
    
    $ sudo add-apt-repository \
       "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
       $(lsb_release -cs) \
       stable"
    

安装 & 测试

  1. 更新索引再安装即可:

    1
    2
    
    $ sudo apt-get update
    $ sudo apt-get install -y docker-ce docker-ce-cli containerd.io
    
  2. 为了验证是否正确安装,运行 hello-world 镜像:

    1
    
    $ sudo docker run hello-world
    

    如果你有洁癖,爽完之后可以自行删掉这个 hello-world 镜像。

获取 Shadowsocks-libev 镜像

安装好 Docker Engine 后,就可以进入正题了:

1
$ sudo docker pull shadowsocks/shadowsocks-libev

默认会 pull 最新版本,需要指定旧版本可上 DockerHub 查询 Tags 列表

运行 Shadowsocks Server

1
2
3
4
5
6
7
$ sudo docker run --name ss-server \
        -d --restart always shadowsocks/shadowsocks-libev \
        -e PASSWORD=<your_password> \
        -e METHOD=<encrypt_method> \
        -e SERVER_PORT=<server_port> \
        -p <server_port>:<server_port> \
        -p <server_port>:<server_port>/udp

把上述 <xxx> 部分参数替换为自己所需内容即可,详细参数说明可查看 GitHub 项目文档

最后,请确保 VPS 控制台为端口 SERVER_PORT 开启 TCP / UDP 的入站出站过滤。

This post is licensed under CC BY 4.0 by the author.

对开源的一些体会

-

Comments powered by Disqus.