So,6年之前使用python2的web.py框架+postgresql搭建的项目,今年年初起停止使用,但偶尔地又需要访问一下数据。大家都知道搭建项目环境多么难,在这台电脑上运行得好好的,换台电脑出现各种错误。近期开始学习docker,相见恨晚哪。于是有了这篇边学习边实践的笔记。
web.py项目
requirements.txt文件
主程序名称为index.py,运行中需使用3个包,pip freeze > requirements.txt,内容如下:1
2
3psycopg2==2.8.3
pygal==2.4.0
web.py==0.39
Dockerfile文件
在web.py项目目录下新建Dockerfile文件,内容如下:1
2
3
4
5
6
7
8
9
10FROM python:2.7
COPYrequirements.txt /code/
WORKDIR/code/
RUNpip install -r requirements.txt
COPY. /code/
ENTRYPOINT["python"]
CMD["index.py"]
第1行FROM python:2.7,指明使用python:2.7镜像。
第2行拷贝requirements.txt文件到Docker的/code/目录。
第3行指明/code/为工作目录。
第4行在docker中安装需要的包。
第5行拷贝当前目录下所有文件到docker工作目录中。
第6行、第7行指明启动python index.py。
建立image
在web.py项目目录下,输入(jifdaypk_mini是image名称):1$ docker build-t jifdaypk_mini:latest.
会有一系列输出,最后出现这个,说明创建成功:1Successfully tagged jifdaypk_mini:latest
执行docker image ls,应该能够看到刚刚创建的image了。
运行容器
输入:1$ docker run-p 8080:8080 jifdaypk_mini
回车,打开浏览器输入:localhost:8080,浏览器出现internal server error提示。看命令行,出