Merge pull request #142 from MonsterTan/master

新增docker-compose功能模块
pull/146/head
wenxianping 2019-01-10 12:39:19 +08:00 committed by GitHub
commit 109967ca70
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 76 additions and 7 deletions

View File

@ -5,10 +5,20 @@ ADD . /usr/src/app
ENV DEBIAN_FRONTEND noninteractive
ENV TZ Asia/Shanghai
RUN pip install --no-cache-dir -r requirements.txt
## install python requirements
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider --no-cache-dir -r requirements.txt
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
## install ntpdate, not accept but saving code
#RUN echo 'deb http://mirrors.163.com/debian/ jessie main non-free contrib \
# deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib \
# deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib' > /etc/apt/sources.list \
# && apt-get update\
# && apt-get install ntpdate -y \
#EXPOSE 5010
WORKDIR /usr/src/app/
#CMD [ "python", "run.py" ]
ENTRYPOINT [ "python", "run.py" ]
CMD [ "python", "run.py" ]
#ENTRYPOINT [ "python", "run.py" ]

View File

@ -20,11 +20,20 @@
- 修改config/ticket_config.yaml文件按照提示更改自己想要的信息
- 运行根目录sudo python run.py即可开始
- 由于新增对时功能请务必用sudosudosudo 执行否则会报权限错误windows打开ide或者cmd请用管理员身份执行python run.py不需要加sudo
- 如果你的服务器安装了docker那么就可以docker启动
- 1、docker build -t dockerticket .
- 如果你的服务器安装了docker与docker-compose, 那么就可以通过`docker-compose`进行启动,`docker.sh`脚本对此进行了封装,可以通过如下命令进行启动
- 1、`sudo ./docker.sh run` #创建一个镜像并启动容器,如果镜像已经创建过了会直接启动容器。
- 2、`sudo ./docker.sh reload` #修改配置文件后,通过此名命令可重新加载容器运行
- 3、`sudo ./docker.sh rm` #删除容器
- 4、`sudo ./docker.sh drun` #后台运行容器
- 5、`sudo ./docker.sh logs` #在后台运行时,通过此命令查看运行的内容
- 注: 若只有docker没有docker-compose. 可通过`pip install docker-compose`进行下载
- ~~如果你的服务器安装了docker那么就可以docker启动~~
- 1、~~docker build -t dockerticket .~~
- 2、~~docker run dockerticket python run.py &~~
- 3、~~本来是可以直接Dockerfile启动的不知道为毛启动不了如果有大佬看到问题所在欢迎提出~~
- 4、docker run -d --name 12306-ticket dockerticket
- 4、~~docker run -d --name 12306-ticket dockerticket~~
- 目录对应说明
- agency - cdn代理

13
docker-compose.yml Normal file
View File

@ -0,0 +1,13 @@
version: "3"
services:
ticket:
image: 12306_ticket
build: .
# ports:
volumes:
- ./:/usr/src/app
- /etc/localtime:/etc/localtime:ro
container_name: 12306ticket

37
docker.sh Executable file
View File

@ -0,0 +1,37 @@
#!/bin/bash
#author: tan
#date: 2019-01-07
# a script to control docker's container create restart reload and rm function
function checkSudo (){
if [ $UID -ne 0 ];then
echo -e 'it must be root!'
echo -e 'usage ./docker.sh {run|restart|rm|logs}'
exit 1
fi
}
checkSudo
if [ $# -eq 1 ];then
case $1 in
"run")
docker-compose up;;
"restart")
docker-compose up --no-recreate;;
"rm")
docker-compose rm -f;;
"drun")
docker-compose up -d;;
"logs")
docker-compose logs;;
*)
echo -e 'usage ./docker.sh {run|restart|rm|logs}';;
esac
fi