Просмотр исходного кода

Merge pull request #61 from gladmo/master

build docker image with Dockerfile, or run docker run -p 5000:5000 -d gladmo/proxy:latest
J_hao104 9 лет назад
Родитель
Сommit
129dc6fc0c
2 измененных файлов с 56 добавлено и 0 удалено
  1. 39 0
      Dockerfile
  2. 17 0
      README.md

+ 39 - 0
Dockerfile

@@ -0,0 +1,39 @@
+FROM python:2.7
+
+WORKDIR /usr/src/app
+
+COPY . .
+
+ENV DEBIAN_FRONTEND noninteractive
+ENV TZ Asia/Shanghai
+
+RUN pip install --no-cache-dir -r requirements.txt && \
+	apt-get update && \
+	apt-get install -y --force-yes git make gcc g++ autoconf && apt-get clean && \
+	git clone --depth 1 https://github.com/ideawu/ssdb.git ssdb && \
+	cd ssdb && make && make install && cp ssdb-server /usr/bin && \
+	apt-get remove -y --force-yes git make gcc g++ autoconf && \
+	apt-get autoremove -y && \
+	rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
+	cp ssdb.conf /etc && cd .. && yes | rm -r ssdb && \
+
+	mkdir -p /var/lib/ssdb && \
+	sed \
+		-e 's@home.*@home /var/lib@' \
+		-e 's/loglevel.*/loglevel info/' \
+		-e 's@work_dir = .*@work_dir = /var/lib/ssdb@' \
+		-e 's@pidfile = .*@pidfile = /run/ssdb.pid@' \
+		-e 's@level:.*@level: info@' \
+		-e 's@ip:.*@ip: 0.0.0.0@' \
+		-i /etc/ssdb.conf && \
+
+	echo "# ! /bin/sh " > /usr/src/app/run.sh && \
+	echo "cd Run" >> /usr/src/app/run.sh && \
+	echo "/usr/bin/ssdb-server /etc/ssdb.conf &" >> /usr/src/app/run.sh && \
+	echo "python main.py" >> /usr/src/app/run.sh && \
+
+	chmod 777 run.sh
+
+EXPOSE 5000
+
+CMD [ "sh", "run.sh" ]

+ 17 - 0
README.md

@@ -113,6 +113,23 @@ pip install -r requirements.txt
 你也可以分别运行他们,依次到Api下启动ProxyApi.py,Schedule下启动ProxyRefreshSchedule.py和ProxyValidSchedule.py即可
 ```
 
+docker:
+```
+git clone git@github.com:jhao104/proxy_pool.git
+
+cd proxy_pool
+
+docker build -t proxy:latest -f Dockerfile .
+
+docker run -p 5000:5000 -d proxy:latest
+
+# Wait a few minutes
+curl localhost:5000/get/
+# result: xxx.xxx.xxx.xxx:xxxx
+
+curl localhost:5000/get_all/
+```
+
 ### 5、使用
   定时任务启动后,会通过代理获取方法fetch所有代理放入数据库并验证。此后默认每20分钟会重复执行一次。定时任务启动大概一两分钟后,便可在[SSDB](https://github.com/jhao104/SSDBAdmin)中看到刷新出来的可用的代理: