首要要申請使用Amazon的EC2,具體步驟就不囉嗦了,不熟悉的同窗能夠參考如下步驟(Amazon網站上有詳細的在線說明)。docker
帳號註冊瀏覽器
綁定信用卡:這個是必須過程,但不須要付費。安全
訪問AWS控制檯:https://console.aws.amazon.com
bash
在主WEB面板點擊compute的EC2服務器
接着在EC2面板中點擊Launch Instanceide
選擇主機鏡像網站
選擇實例的類型,這裏咱們選擇第一個:Free tier eligible,不要選擇其它的,不然致使付費ui
配置實例的細節,這裏要注意的是Auto-assign Public IP參數必定要Enable,不然你的VM是沒有外網IP沒法遠程和上網的this
添加存儲,這裏Amazon提示能夠提高到30GB的存儲,我這裏用默認的就夠了spa
定義實例標籤
配置安全組(組裏面是定義一些限制或者端口策略),這裏有2個端口是要對外開放的:
- SSH協議的22端口:爲了咱們遠程配置與管理
- http代理服務使用的3128端口(默認)
建立密鑰對並下載私鑰證書
選擇上面下載到本地的私鑰證書,用XSHELL(Linux)或putty(Windows)進行鏈接
進入系統後首先安裝並啓動docker服務(直接使用yum命令就行)
sudo yum install docker //安裝docker
sudo service docker start //啓動docker後臺服務
下面咱們進入正題,如何在5分鐘時間內完成squid代理服務的搭建。
1、使用pull命令從docker hub 下載一個成熟的squid鏡像
docker pull sameersbn/squid:latest
2、啓動容器
docker run --name squid -d --restart=always --publish 3128:3128 \ --volume /srv/docker/squid/cache:/var/spool/squid3 \ sameersbn/squid:latest
3、從容器中將配置文件複製到主機(也可使用attach方式直接進入容器修改相關配置文件後再食用commit命令持久化到鏡像,但從後期維護的角度不建議採用這種方式)
docker cp squid:/etc/squid3/ .
4、修改已複製到主機的配置文件(設置訪問權限等),最小修改一條便可。
vi squid.conf # And finally deny all other access to this proxy http_access allow all #將這裏的 deny all 修改成 allow all
5、中止並刪除正在運行的容器後,採用卷綁定主機配置文件的方式再從新啓動
docker stop squid docker rm squid docker run --name squid -d --restart=always --publish 3128:3128 --volume /srv/docker/squid/cache:/var/spool/squid3 --volume /home/ec2-user/squid/squid3:/etc/squid3 sameersbn/squid:latest
6、如今一個私有的http代理服務器就已經搭建好了,修改瀏覽器的訪問設置後就能夠直接使用了。
export ftp_proxy=http://{EC2雲主機ip}:3128 export http_proxy=http://{EC2雲主機ip}:3128 export https_proxy=http://{EC2雲主機ip}:3128
其餘:
A、採用退出時清除容器的方式啓動:
sudo docker run --name squid --rm --publish 3128:3128 --volume /srv/docker/squid/cache:/var/spool/squid3 --volume /home/ec2-user/squid/squid3:/etc/squid3 sameersbn/squid:latest
B、查看代理訪問日誌:
sudo docker exec -it squid tail -f /var/log/squid3/access.log
c、訪問並進入正在運行的容器
sudo docker exec -it squid bash