首先呢,你的先有一台自己的服务器把,这个就不多赘述了,我自己买了一台国外的VPS.

  • 一、docker的安装

  首先我们来看下服务器的版本信息:

  1. cat /etc/redhat-release //CentOS Linux release 7.6.1810 (Core)

  1、docker安装

  1. yum install -y docker

  安装完之后查看是否安装成功:  

  1. yum list installed | grep docker

  启动docker服务

  1. systemclt start docker

  查看docker是否启动成功

  1. systemctl status docker

  看到那个绿色的字体了嘛,OK,启动成功

  查看docker中的所有容器:

  1. docker ps

  默认应该是空的,但是我这里已经新增了一个容器。

  • 二、在docker中安装ss服务端

  直接上命令:  

  1. docker run -dt --name ss-server -p : mritd/shadowsocks -s "-s 0.0.0.0 -p 6445 -m aes-256-cfb -k 123456test --fast-open" --restart=always

  注意,-k后面是你后面再客户端使用的时候的密码。

  参考文献:https://hub.docker.com/r/mritd/shadowsocks/

  安装成功后,就已经启动了这个容器,可以再次使用`docker ps`来查看已经启动的容器

  • 三、配置客户端

  下载ss客户端,打开之后就是这样滴:没错,就是桌面右下角的小飞机图标

  

  在图标上右键->服务器-》编辑服务器,输入配置信息:服务器地址即你的服务器的IP,端口,我上面安装的时候指定的是6445,也可以自己指定,密码也是安装ss的时候就设置的,加密选 aes-256-cfb,确定。  

  

  这样,就配置好了,再次右键小飞机,选择启动系统代理,就可以了

  • 四、google一下,不能访问?

    这一切好像太顺利了,google一下,发现的确不能访问,这种时候就很容易想到一件事,那就是防火墙,这里就用到文章最开始要去看看系统版本的原因了,因为centos7系统开始,使用firewalld服务替代了iptables服务

    查看防火墙状态:

  1.  systemctl status firewalld

  

  发现时开着的,关了再试试呢?  

  1. systemctl stop firewalld

  再试试发现还是不能访问google...

  重启下docker呢?  

  1. systemctl restart docker
  1. docker start ss-server

  这里的ss-server是你之前安装的时候--name后面的东西哦

  再试试,bingo!!!成功了

  现在知道问题所在了,如果我们需要打开防火墙仍然可以使用怎么办呢?那就开放端口咯

    首先打开防火墙    

  1. systemctl start firewalld

    查看已经开放的端口:  

  1. firewall-cmd --list-ports

  发现没有6445,OK,开启端口:

  1. firewall-cmd --zone=/tcp --permanent

    命令含义:

    –zone #作用域

    –add-port=80/tcp #添加端口,格式为:端口/通讯协议

    –permanent #永久生效,没有此参数重启后失效

  

    重启防火墙:  

  1. firewall-cmd --reload #重启firewall

    重启docker:    

  1. systemctl restart docker
  1. docker start ss-server

    再试试google一下,成功了吧

  • 五、其他

    关闭docker中的容器:    

  1. docker stop ss-server

    删除docker中的容器: 

  1. docker rm ss-server

    如果您想临时关闭防火墙,输入命令

  1. systemctl stop firewalld

    如果您想永久关闭防火墙,输入命令

  1. systemctl disable firewalld

 

  

在linux系统中用docker搭建ss的更多相关文章

  1. linux系统下本地搭建git服务器

    linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.1 ...

  2. 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器

    一.Linux基础使用:linux服务器环境搭建(FTP服务器), 在本机使用虚拟机安装一个linux系统,并搭建ftp服务器,要求能使用ftp服务将本机文件到保存linux虚拟机上 资料: VMwa ...

  3. 孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务

    孤荷凌寒自学python第六十一天在Fedora28版的linux系统上找搭建本地Mongodb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第七天.成功在本地搭建 ...

  4. ubuntu系统用docker搭建wordpress

    目标:在docker中搭建wordpress 安装顺序: 首先要有一个云服务器---购买或者自己搭建(本人是自己在主机上装了虚拟机,搭建了一个ubuntu14.04,安装链接:https://www. ...

  5. Linux系统环境基于Docker搭建Mysql数据库服务实战

    开放端口规划: mysql-develop:3407 mysql-test: 3408 mysql-release: 3409 ps: 1.不推荐使用默认端口-3306,建议自定义端口 2.如果采用阿 ...

  6. Linux系统中用DNW向ARM开发板下载程序

    在Linux下通过dnw来给开发板发送程序.包括驱动程序代码:secbulk.c,应用程序代码:dnw.c.只能运行在32位系统上,在64位系统上提示错误:DNW download Data size ...

  7. Linux系统移植(1) ------搭建交叉编译环境

    本人的开发环境是ubuntu12.05的64版本,运行在11.00的虚拟机上.首先说明为什么需要搭建交叉编译环境.我们知道,我们的开发一般在PC机上,是基于X86架构的,而我们的开发板却是基于ARM架 ...

  8. Linux系统zookeeper环境搭建(单机、伪分布式、分布式)

    本人现在对zookeeper的环境搭建做一个总结,一般zookeeper的安装部署可以有三种模式,单机模式.伪分布式和分布式,这三种模式在什么时候应用具体看大家的使用场景,如果你只有一台机器且只是想自 ...

  9. linux系统centOS7下搭建redis集群中ruby版本过低问题的解决方法

    问题描述: 在Centos7中,通过yum安装ruby的版本是2.0.0,但是如果有些应用需要高版本的ruby环境,比如2.2,2.3,2.4... 那就有点麻烦了,譬如:我准备使用redis官方给的 ...

随机推荐

  1. 什么是J2EE

    什么是J2EE 一.准备篇 1 什么是J2EE?它和普通的Java有什么不同? 答:J2EE全称为Java2 Platform Enterprise Edition. "J2EE平台本质上是 ...

  2. java中方法调用在内存中的体现

    在java中,方法以及局部变量(即在方法中声明的变量)是放在栈内存上的.当你调用一个方法时,该方法会放在调用栈的栈顶.栈顶的方法是目前正在执行的方法,直到执行完毕才会从栈顶释放.我们知道,栈是一种执行 ...

  3. Android获取蓝牙地址

    最近做一个项目,发现Android6.0以上的版本获取的蓝牙地址始终为02:00:00:00, Google一下发现Android早就封掉了相关接口,于是想到反射的方式去获取Mac地址,在此记录一下 ...

  4. 新建虚拟机,每次都提示无法连接虚拟设备 ide1:0

    处理方式:看到了这个老哥http://www.cnblogs.com/dean-du/p/6888513.html的博客,发现问题是一样的,所以记录一下. 将虚拟机设置中的CD/DVD选项中的连接更改 ...

  5. Gitlab installtation

    环境:Centos7 安装配置(安装开启http和sshd): 1 yum -y install curl openssh-server postfix 2 systemctl enable sshd ...

  6. 如何清除SQL 的登录名

    复制路径 找到SqlStudio.bin 文件删除即可 SQL Server 2016 版本: C:\Users\%username%\AppData\Roaming\Microsoft\SQL Se ...

  7. 封装和 property方法

    封装其实就是一个类用双下划线把自己的属性或者方法给限制住 不让其他的类直接调用或者修改  必须通过这个类来进行操作,这个类通过双下划线__把自己的属性和方法给限制住了 封装就是私有的过程 把父类中的属 ...

  8. 并发集合 System.Collections.Concurrent 命名空间

    System.Collections.Concurrent 命名空间提供多个线程安全集合类. 当有多个线程并发访问集合时,应使用这些类代替 System.Collections 和 System.Co ...

  9. java 包(package)

    package packageDemo2_5; public class packageDemo1 { String name;//同一个包里的类可以直接访问 //不同包里的类是不可以使用默认修饰符的 ...

  10. 【RabbitMQ】1、安装

    1.  下载 下载地址:http://www.rabbitmq.com/download.html 2.  windows下安装 2.1. 安装Erlang 下载:http://www.erlang. ...