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

  • 一、docker的安装

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

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

  1、docker安装

yum install -y docker

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

yum list installed | grep docker

  启动docker服务

systemclt start docker

  查看docker是否启动成功

systemctl status docker

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

  查看docker中的所有容器:

docker ps

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

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

  直接上命令:  

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服务

    查看防火墙状态:

 systemctl status firewalld

  

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

systemctl stop firewalld

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

  重启下docker呢?  

systemctl restart docker
docker start ss-server

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

  再试试,bingo!!!成功了

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

    首先打开防火墙    

systemctl start firewalld

    查看已经开放的端口:  

firewall-cmd --list-ports

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

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

    命令含义:

    –zone #作用域

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

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

  

    重启防火墙:  

firewall-cmd --reload #重启firewall

    重启docker:    

systemctl restart docker
docker start ss-server

    再试试google一下,成功了吧

  • 五、其他

    关闭docker中的容器:    

docker stop ss-server

    删除docker中的容器: 

docker rm ss-server

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

systemctl stop firewalld

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

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. Ubuntu更换硬盘

    0x00 背景: 目前ubuntu用的是一个80g的硬盘( 一开始没买硬盘,直接拆了一个老老老老的机子来用),系统16.04, 只有一个/分区 ( /dev/sdb1 ) . 新的硬盘是一块256G的 ...

  2. MAC电脑安装svn客户端cornerstone

    个人感觉在mac上最好用的svn客户端就是cornerstone,公司客户端也统一使用这个 sudo spctl --master-disable 这条命令作用就是使得mac运行安装任何来源App,不 ...

  3. 关于Ubuntu16.04下phpmyadmin出现mbstring错误的正解

    1.打开终端,输入php -i | grep extension_dir 查看extension_dir的绝对路径 2.查看phpinfo,php.ini的绝对路径 3.打开php.ini文件. 设置 ...

  4. August 11th 2017 Week 32nd Friday

    I can't give you the world, but I can give you my world. 我不能给你全世界,但是我的世界我可以全部给你. Maybe I can't give ...

  5. Linux命令--文件处理

    touch命令 Linux touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间.若文件不存在,系统会建立一个新的文件. ls -l 可以显示档案的时间记录. 语法 touch [-a ...

  6. lisp base

    一 .quote lisp 使用s-expr表示数据和代码,通常会将第一项作为函数,而将后续元素当做参数传给第一项进行计算.可以通过quote来进行其他解析,quote可用(‘)表示: ( + 1 1 ...

  7. tcp通讯中socket套接字accept和listen的关系

    今天看到一个文章,客户端的connect在服务端调用accept之前,突然想到这可以建立正常的连接么?以前从没细细的思考过listen accept connect之前的关系,带着疑问学习了一下,记录 ...

  8. 对Java中的异常的理解

    1.What is exception in Java? Java使用异常描述程序中可能出现的不正常情况.这个不正常可以是java认为的不正常,也可以是你主观上的出乎意料(自定义异常).总而言之,异常 ...

  9. Vuex、Flux、Redux、Redux-saga、Dva、MobX

    https://www.jqhtml.com/23003.html 这篇文章试着聊明白这一堆看起来挺复杂的东西.在聊之前,大家要始终记得一句话:一切前端概念,都是纸老虎. 不管是Vue,还是 Reac ...

  10. BZOJ3926:[ZJOI2015]诸神眷顾的幻想乡(广义SAM)

    Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给幽香看. ...