..

在 docker 中运行 shadowsocks 客户端

deepin 升级了以后, 不知道是哪个系统包被升级了, 我的 shadowsocks 客户端一直不能正常使用正常使用, 尝试和很多方法没有解决. 最后我终于开窍了: 此路不通, 我换条路走.

在 chrome 里面配置了插件 SwitchyOmega , 这个插件里面配置了代理服务器的地址和端口, 通常这个地址和端口是本机的 shadowsocks client, 好傻. 宿主机器上依赖有问题, 那我何不将 shadowsocks client 允许在 docker 中呢, 说这我就到 dockerhub 上找到了对于的镜像:

* https://hub.docker.com/r/mritd/shadowsocks/

符合条件的镜像很多, 这个是使用最多的一个. 于是研究了一下这个镜像,Dockerfile 写的挺复杂的,启动参数也不够友好. 于是,参考他的 Dockerfile 删掉了一些功能和配置. 我从新打了一个新的镜像, 参数更加简单了, 对 docker-compose 支持也更加友好了.

docker pull hellojukay/shadowsocks:1.0.0

我也将这个镜像开源到 dockerhub 上了, 使用方式非常简单

https://hub.docker.com/r/hellojukay/shadowsocks

version: '2'
services:
  ssclient:
    image: hellojukay/shadowsocks:1.0.0
    container_name: 'ssclient'
    restart: always
    ports:
      - 1080:1080
    environment:
      SERVER: 'xxx'
      PORT: xxx
      LISTEN: 1080
      METHOD: 'chacha20-ietf-poly1305'
      PASSWD: 'q6Gsdfsdfx9sd'

使用 docker-compose 启动即可

docker-compose up -d

启动成功以后可以看到,shadowsocks 绑定了本地的 1080 端口了

hellojukay@local blog (master) $ docker ps -a
CONTAINER ID        IMAGE                          COMMAND                  CREATED             STATUS              PORTS                    NAMES
05ba33138b43        hellojukay/shadowsocks:1.0.0   "/bin/sh -c /entrypo…"   2 days ago          Up 23 minutes       0.0.0.0:1080->1080/tcp   ssclient
hellojukay@local blog (master) $ 

又能开心的科学上网了.