1)确保你的操作系统版本是debian 7.X/ubuntu,(建议选择ubuntu系统!就linux vps而言,安装ubuntu系统是最佳选择!而且最好是选择kvm虚拟化技术,因为kvm vps的内核通常都在3.10.0或以上。千万不要选择openvz vps,因为通常,openvz vps的内核还是2.6.3,其内核版本太低。至于xen vps,需要向供应商了解其内核版本是多少。)
可以使用如下命令:
$ uname -r
3.10.0-229.el7.x86_64(内核需3.10.0或以上的系列,操作系统需为64位版)
2)更新:
sudo apt-get update
3)运行Docker的安装脚本,如下命令:
$ curl -sSL https://get.docker.com/ | sh
(注:此命令curl -sSL https://get.docker.com/ | sh 在debian8下运行成功。 在其他系统下,不一定成功。所以建议选vps系统时,选择debian8.)
(关于在debian/ubuntu/centos vps上,安装docker,请见http://briteming.blogspot.com/2014/02/docker.html)
4)启动Docker,如下命令:
sudo service docker start
2,安装Shadowsocks的Docker镜像。
1)下载镜像,如下命令:
docker pull oddrationale/docker-shadowsocks
(https://hub.docker.com/r/oddrationale/docker-shadowsocks/)
2)运行镜像,启动Shadowsocks。
docker run --restart=always -d -p 2023:2022 oddrationale/docker-shadowsocks -p 2022 -k your_password -m aes-256-cfb
3)确认Shadowsocks的docker版是否安装成功:
docker ps
我们可以看到输出中,Shadowsocks的镜像已经在运行了。太简单了,Docker真好。
启动客户端,输入之前服务器端启动的时候配置的端口2023,密码,点击保存。客户端就不再赘言。
如果翻墙失败,可能是由于这条命令docker run -d -p 2023:2022 oddrationale/docker-shadowsocks -p 2022 -k your_password -m aes-256-cfb所对应的进程退出了,重新运行一次该命令即可。
也可通过supervisor来自动重新运行上述命令:
安装supervisor:
yum install supervisor (apt-get install supervisor)
(说白了就是个python包,官方文档,pip install supervisor ,我这里安装之后没有发现配置文件,我先到安装目录下找找,若没有,就自己创建配置文件。可以在启动命令中,添加配置文件的完整路径。
然后新建/etc/supervisord.conf
填入内容:
[program:docker]
command=docker run -d -p 2023:2022 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 2022 -k your_password -m aes-256-cfb
autostart=true
autorestart=true
user=root
[supervisord]
重启supervisor:
killall supervisord
supervisord -c /etc/supervisord.conf
然后编辑/etc/rc.local,在exit 0这行的上方加上:supervisord -c /etc/supervisord.conf
ref: https://leohxj.gitbooks.io/a-programmer-prepares/content/software/develop-tool/shadowsocks.html
http://blog.csdn.net/orangleliu/article/details/41317887
http://www.voidcn.com/article/p-qhazlemf-ts.html (这个的配置文件里没提及[supervisord],是不对的)
项目地址:https://github.com/oddrationale/docker-shadowsocks (很好用)
---------
第二个用Docker构建的shadowsocks服务器端.
(参见https://hub.docker.com/r/hbrls/shadowsocks/)
运行:
docker pull hbrls/shadowsocks
docker run --restart=always -d -p 4023:4022 hbrls/shadowsocks -e SS_PORT=4022 -e SS_PASSWORD=my_password -e SS_METHOD=aes-256-cfb
客户端机器上,所设置的服务器的端口应为4023. 这样,客户端机器就翻墙成功了。
项目地址:https://github.com/hbrls/docker-shadowsocks
(注意:不同的“shadowsocks的docker版“的命令不能混用,只能各用各的命令)
------------
第三个用Docker构建的shadowsocks服务器端,
参见https://hub.docker.com/r/mritd/shadowsocks/
docker pull mritd/shadowsocks
docker run --restart=always -d -p 6443:6442 mritd/shadowsocks -s "-p 6442 -m aes-256-cfb -k my_pw"
root@localhost:~# lsof -i:6443
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 14444 root 4u IPv6 1972873 0t0 TCP *:6443 (LISTEN)
root@localhost:~#
(需要重命名container ,命令为:docker rename container_id another_name
这里的container_id就是上面已运行的那个叫shadowsocks的容器的id.)
客户端机器上,所设置的服务器的端口应为6443. 这样,客户端机器就翻墙成功了。
项目地址:
https://github.com/mritd/dockerfile/tree/master/shadowsocks
-----------
第四个用docker搭建的ss服务器端
http://hub.docker.com/r/
客户端机器上,所设置的服务器的端口应为1444.
项目地址:https://github.com/hangim/shadowsocks-docker
--------------------
第五个用docker搭建的ss服务器端 (很好用)
docker pull imlonghao/shadowsocks-go
docker run --restart=always -d -p 7022:7021 imlonghao/shadowsocks-go -p 7021 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为7022 .
项目地址:https://hub.docker.com/r/imlonghao/shadowsocks-go
https://github.com/imlonghao/docker-shadowsocks/tree/master/go
-------------
第六个用docker搭建的ss服务器端
docker pull imlonghao/shadowsocks-libev (很好用)
docker run --restart=always -d -p 8022:8021 imlonghao/shadowsocks-libev -p 8021 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为8022 .
项目地址:https://hub.docker.com/r/imlonghao/shadowsocks-libev
https://github.com/imlonghao/docker-shadowsocks/tree/master/libev
---------------------------------------
第7个用docker搭建的ss服务器端
docker pull imlonghao/shadowsocks-python (很好用)
docker run --restart=always -d -p 9022:9021 imlonghao/shadowsocks-python -p 9021 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为9022 .
项目地址:https://hub.docker.com/r/imlonghao/shadowsocks-python
https://github.com/imlonghao/docker-shadowsocks/tree/master/python
------------
第8个用docker搭建的ss服务器端(基于shadowsocks-libev)
docker pull tommylau/shadowsocks (很好用)
docker run --restart=always -d -p 9488:9388 tommylau/shadowsocks -p 9388 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为9488.
项目地址:https://hub.docker.com/r/tommylau/shadowsocks
https://github.com/TommyLau/docker-shadowsocks
--------------
第9个用docker搭建的ss服务器端
https://hub.docker.com/r/aricxu/shadowsocks/
docker pull aricxu/shadowsocks
docker run --restart=always -d -p 1988:1987 aricxu/shadowsocks -p 1987 -k my_pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为1988.
项目地址:https://github.com/aricxu/docker_shadowsocks
----------
第10个用docker搭建的ss服务器端
https://hub.docker.com/r/smounives/shadowsocks/ (很好用)
docker pull smounives/shadowsocks
项目地址:https://github.com/smounives/shadowsocks-docker
---------------
第11个用docker搭建的ss服务器端
https://hub.docker.com/r/malaohu/ssr-with-net-speeder/ (很好用)
docker pull malaohu/ssr-with-net-speeder
然后
docker run --restart=always -d -p 8990:8989 malaohu/ssr-with-net-speeder -p 8989 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为8990.
------------------
第12个用docker搭建的ss服务器端
http://hub.docker.com/r/baselibrary/shadowsocks (速度有点慢)
https://github.com/baselibrary/docker-shadowsocks
docker pull baselibrary/shadowsocks
docker run --restart=always -d -p 8788:8688 baselibrary/shadowsocks -p 8688 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为8788.
--------------------------
第13个用docker搭建的ss服务器端
https://briteming.blogspot.com/2016/06/shadowsocks-libevdocker-docker.html
--------------------------------------
第14个用docker搭建的ss服务器端
https://hub.docker.com/r/mrjin/shadowsocks/
docker pull mrjin/shadowsocks
然后
docker run --restart=always -d -p 8889:8888 mrjin/shadowsocks -e METHOD=aes-256-cfb -e SERVER_PORT=8888 -e PASSWORD=your-pw
客户端机器上,所设置的服务器的端口应为8889.
-----------
第15个用docker搭建的ss服务器端
https://hub.docker.com/r/lowid/ss-with-net-speeder
https://github.com/soloradish/ss-with-net-speeder
docker pull lowid/ss-with-net-speeder
然后
docker run --restart=always -d -p 7990:7989 lowid/ss-with-net-speeder -p 7989 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为7990.
可以使用如下命令:
$ uname -r
3.10.0-229.el7.x86_64(内核需3.10.0或以上的系列,操作系统需为64位版)
2)更新:
sudo apt-get update
3)运行Docker的安装脚本,如下命令:
$ curl -sSL https://get.docker.com/ | sh
(注:此命令curl -sSL https://get.docker.com/ | sh 在debian8下运行成功。 在其他系统下,不一定成功。所以建议选vps系统时,选择debian8.)
(关于在debian/ubuntu/centos vps上,安装docker,请见http://briteming.blogspot.com/2014/02/docker.html)
4)启动Docker,如下命令:
sudo service docker start
2,安装Shadowsocks的Docker镜像。
1)下载镜像,如下命令:
docker pull oddrationale/docker-shadowsocks
(https://hub.docker.com/r/oddrationale/docker-shadowsocks/)
2)运行镜像,启动Shadowsocks。
docker run --restart=always -d -p 2023:2022 oddrationale/docker-shadowsocks -p 2022 -k your_password -m aes-256-cfb
3)确认Shadowsocks的docker版是否安装成功:
docker ps
我们可以看到输出中,Shadowsocks的镜像已经在运行了。太简单了,Docker真好。
启动客户端,输入之前服务器端启动的时候配置的端口2023,密码,点击保存。客户端就不再赘言。
如果翻墙失败,可能是由于这条命令docker run -d -p 2023:2022 oddrationale/docker-shadowsocks -p 2022 -k your_password -m aes-256-cfb所对应的进程退出了,重新运行一次该命令即可。
也可通过supervisor来自动重新运行上述命令:
安装supervisor:
yum install supervisor (apt-get install supervisor)
(说白了就是个python包,官方文档,pip install supervisor ,我这里安装之后没有发现配置文件,我先到安装目录下找找,若没有,就自己创建配置文件。可以在启动命令中,添加配置文件的完整路径。
然后新建/etc/supervisord.conf
填入内容:
[program:docker]
command=docker run -d -p 2023:2022 oddrationale/docker-shadowsocks -s 0.0.0.0 -p 2022 -k your_password -m aes-256-cfb
autostart=true
autorestart=true
user=root
[supervisord]
重启supervisor:
killall supervisord
supervisord -c /etc/supervisord.conf
然后编辑/etc/rc.local,在exit 0这行的上方加上:supervisord -c /etc/supervisord.conf
ref: https://leohxj.gitbooks.io/a-programmer-prepares/content/software/develop-tool/shadowsocks.html
http://blog.csdn.net/orangleliu/article/details/41317887
http://www.voidcn.com/article/p-qhazlemf-ts.html (这个的配置文件里没提及[supervisord],是不对的)
项目地址:https://github.com/oddrationale/docker-shadowsocks (很好用)
---------
第二个用Docker构建的shadowsocks服务器端.
(参见https://hub.docker.com/r/hbrls/shadowsocks/)
运行:
docker pull hbrls/shadowsocks
docker run --restart=always -d -p 4023:4022 hbrls/shadowsocks -e SS_PORT=4022 -e SS_PASSWORD=my_password -e SS_METHOD=aes-256-cfb
客户端机器上,所设置的服务器的端口应为4023. 这样,客户端机器就翻墙成功了。
项目地址:https://github.com/hbrls/docker-shadowsocks
(注意:不同的“shadowsocks的docker版“的命令不能混用,只能各用各的命令)
------------
第三个用Docker构建的shadowsocks服务器端,
参见https://hub.docker.com/r/mritd/shadowsocks/
docker pull mritd/shadowsocks
docker run --restart=always -d -p 6443:6442 mritd/shadowsocks -s "-p 6442 -m aes-256-cfb -k my_pw"
root@localhost:~# lsof -i:6443
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
docker-pr 14444 root 4u IPv6 1972873 0t0 TCP *:6443 (LISTEN)
root@localhost:~#
(需要重命名container ,命令为:docker rename container_id another_name
这里的container_id就是上面已运行的那个叫shadowsocks的容器的id.)
客户端机器上,所设置的服务器的端口应为6443. 这样,客户端机器就翻墙成功了。
项目地址:
https://github.com/mritd/dockerfile/tree/master/shadowsocks
-----------
第四个用docker搭建的ss服务器端
http://hub.docker.com/r/
imhang/shadowsocks-docker
docker pull imhang/shadowsocks-docker
docker run
--restart=always -d -e "SS_PORT=1443" -e "SS_PASSWORD=my_pw" -e "SS_METHOD=aes-256-cfb" -p 1444:1443 -p 1444:1443/udp imhang/shadowsocks-docker
客户端机器上,所设置的服务器的端口应为1444.
项目地址:https://github.com/hangim/shadowsocks-docker
--------------------
第五个用docker搭建的ss服务器端 (很好用)
docker pull imlonghao/shadowsocks-go
docker run --restart=always -d -p 7022:7021 imlonghao/shadowsocks-go -p 7021 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为7022 .
项目地址:https://hub.docker.com/r/imlonghao/shadowsocks-go
https://github.com/imlonghao/docker-shadowsocks/tree/master/go
-------------
第六个用docker搭建的ss服务器端
docker pull imlonghao/shadowsocks-libev (很好用)
docker run --restart=always -d -p 8022:8021 imlonghao/shadowsocks-libev -p 8021 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为8022 .
项目地址:https://hub.docker.com/r/imlonghao/shadowsocks-libev
https://github.com/imlonghao/docker-shadowsocks/tree/master/libev
---------------------------------------
第7个用docker搭建的ss服务器端
docker pull imlonghao/shadowsocks-python (很好用)
docker run --restart=always -d -p 9022:9021 imlonghao/shadowsocks-python -p 9021 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为9022 .
项目地址:https://hub.docker.com/r/imlonghao/shadowsocks-python
https://github.com/imlonghao/docker-shadowsocks/tree/master/python
------------
第8个用docker搭建的ss服务器端(基于shadowsocks-libev)
docker pull tommylau/shadowsocks (很好用)
docker run --restart=always -d -p 9488:9388 tommylau/shadowsocks -p 9388 -k your_password -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为9488.
项目地址:https://hub.docker.com/r/tommylau/shadowsocks
https://github.com/TommyLau/docker-shadowsocks
--------------
第9个用docker搭建的ss服务器端
https://hub.docker.com/r/aricxu/shadowsocks/
docker pull aricxu/shadowsocks
docker run --restart=always -d -p 1988:1987 aricxu/shadowsocks -p 1987 -k my_pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为1988.
项目地址:https://github.com/aricxu/docker_shadowsocks
----------
第10个用docker搭建的ss服务器端
https://hub.docker.com/r/smounives/shadowsocks/ (很好用)
docker pull smounives/shadowsocks
docker run
--restart=always -d -p 7388:7288 smounives/shadowsocks -p 7288 -k my_pw -m aes-256-cfb
项目地址:https://github.com/smounives/shadowsocks-docker
---------------
第11个用docker搭建的ss服务器端
https://hub.docker.com/r/malaohu/ssr-with-net-speeder/ (很好用)
docker pull malaohu/ssr-with-net-speeder
然后
docker run --restart=always -d -p 8990:8989 malaohu/ssr-with-net-speeder -p 8989 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为8990.
------------------
第12个用docker搭建的ss服务器端
http://hub.docker.com/r/baselibrary/shadowsocks (速度有点慢)
https://github.com/baselibrary/docker-shadowsocks
docker pull baselibrary/shadowsocks
docker run --restart=always -d -p 8788:8688 baselibrary/shadowsocks -p 8688 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为8788.
--------------------------
第13个用docker搭建的ss服务器端
https://briteming.blogspot.com/2016/06/shadowsocks-libevdocker-docker.html
--------------------------------------
第14个用docker搭建的ss服务器端
https://hub.docker.com/r/mrjin/shadowsocks/
docker pull mrjin/shadowsocks
然后
docker run --restart=always -d -p 8889:8888 mrjin/shadowsocks -e METHOD=aes-256-cfb -e SERVER_PORT=8888 -e PASSWORD=your-pw
客户端机器上,所设置的服务器的端口应为8889.
-----------
第15个用docker搭建的ss服务器端
https://hub.docker.com/r/lowid/ss-with-net-speeder
https://github.com/soloradish/ss-with-net-speeder
docker pull lowid/ss-with-net-speeder
然后
docker run --restart=always -d -p 7990:7989 lowid/ss-with-net-speeder -p 7989 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为7990.
-------------------
第16个用docker搭建的ss服务器端
https://hub.docker.com/r/soniclidi/alpine-shadowsocks/
docker pull soniclidi/alpine-shadowsocks
然后,
第17个用docker搭建的ss服务器端
https://hub.docker.com/r/h12w/shadowsocks/
docker pull h12w/shadowsocks
第19个用docker搭建的ss服务器端??
https://hub.docker.com/r/sunteya/shadowsocks-libev
docker pull sunteya/shadowsocks-libev
客户端机器上,所设置的服务器的端口应为7588.
-----------------------------------------------------------------------
https://github.com/Supervisor/supervisor
相关帖子:http://briteming.blogspot.com/2016/12/arukasioshadowsocks.html
-------------
第16个用docker搭建的ss服务器端
https://hub.docker.com/r/soniclidi/alpine-shadowsocks/
docker pull soniclidi/alpine-shadowsocks
然后,
docker run --restart=always -d -p 5788:5688 soniclidi/alpine-shadowsocks -p 5688 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为5788.
----------------
第17个用docker搭建的ss服务器端
https://hub.docker.com/r/h12w/shadowsocks/
docker pull h12w/shadowsocks
docker run --restart=always -d -p 3055:3054 h12w/shadowsocks -p 3054 -k your-pw -m aes-256-cfb
客户端机器上,所设置的服务器的端口应为3055.
-----
第18个用docker搭建的ssr服务器端
A docker image for ShadowsocksR https://hub.docker.com/r/hmbsbige/shadowsocksr-docker
mac上的客户端程序,建议使用electron-ssr.
项目地址:https://github.com/HMBSbige/shadowsocksr-docker
------------------------第18个用docker搭建的ssr服务器端
A docker image for ShadowsocksR https://hub.docker.com/r/hmbsbige/shadowsocksr-docker
docker pull hmbsbige/shadowsocksr-docker docker run
--restart=always-it -d
--dns 1.1.1.1 --dns 8.8.8.8 -p 91:90 -p 91:90/udp hmbsbige/shadowsocksr-docker -p 90 -k my-pw -m aes-256-cfb -O auth_chain_a -o tls1.2_ticket_auth
(上面这行命令由我修改而成)
客户端机器上,所设置的服务器的端口应为91.
mac上的客户端程序,建议使用electron-ssr.
项目地址:https://github.com/HMBSbige/shadowsocksr-docker
第19个用docker搭建的ss服务器端??
https://hub.docker.com/r/sunteya/shadowsocks-libev
docker pull sunteya/shadowsocks-libev
docker run --restart=always -p 7588:7587 -e PASSWORD=your-pw -e METHOD=aes-256-cfb sunteya/shadowsocks-libev
客户端机器上,所设置的服务器的端口应为7588.
-----------------------------------------------------------------------
https://github.com/Supervisor/supervisor
相关帖子:http://briteming.blogspot.com/2016/12/arukasioshadowsocks.html
-------------
让docker容器开机自动启动
网上有些文章说,要让docker 的容器自动在开机启动,是写脚本,比如在 rc.local 中写。
其实完全没必要这么麻烦,docker 有相关指令,docker run 指令中加入 --restart=always 就行。
- sudo docker run --restart=always .....
如果创建时未指定 --restart=always ,可通过update 命令设置: