>> 由于以前使用的 vps 是 OPENVZ 架构的,但是不能用 docker ,因无可忍后只能再次购买一个 KVM 架构的。买完之后,想的第一件事就是安装 Shadowsocks 毕竟工欲善其事必先利其器嘛。 ## 安装 Docker 具体安装方法可以参考文章 [Centos7 安装 Docker 服务](http://www.wangyd.com/post/165 "Centos7 安装 Docker 服务") ## 安装 Shadowsocks 1.首先配置自己的 `/etc/shadowsocks.json` 文件 ```json { "server":"0.0.0.0", "local_address": "127.0.0.1", "local_port":1080, "port_password":{ "11123": "23pass", "11124": "24pass" }, "timeout":300, "method":"chacha20", "fast_open": false } ``` - port_password:配置连接端口和密码 - method:加密方式,下面使用的 docker 镜像安装了 chacha20 加密 2.运行 - `docker pull wangyongdong/docker-shadowsocks-multi` - `docker run --name ss -d -p 11123-11124:11123-11124 -v /etc/shadowsocks.json:/etc/shadowsocks.json docker.io/wangyongdong/docker-shadowsocks-multi` 3.查看 - `docker ps -a ` STATUS 状态为 up 则启动成功 详细请参考: [wangyongdong/docker-shadowsocks-multi](https://hub.docker.com/r/wangyongdong/docker-shadowsocks-multi/ "wangyongdong/docker-shadowsocks-multi") ## 采坑 记录几点在编写 dockerfile 过程中,和构建过程中的坑。 1.由于是在 windows 环境下编写的 dockerfile 和 .sh 文件,换行符没有处理好,导致 run 失败。 解决办法: - dos2unix 实际上就是把文本文件里面的^M删除,我一般懒得用这个命令,vi里面用一个命令(:%s/^m//g)删除即可 - 参考文章: [https://help.github.com/articles/dealing-with-line-endings/](https://help.github.com/articles/dealing-with-line-endings/ "https://help.github.com/articles/dealing-with-line-endings/") 2.run 之后查看 logs 有错误,提示什么不能连接,将 `/etc/shadowsocks.json` 中的 ip 改成0.0.0.0。