Docker学习记录之Flask转docker

  • A+
所属分类:安全博客

今天小伙伴把一个pythonweb的题转docker,过程中出现了一些问题,我也搞了好久,这里记录一下吧。

新手上路,大神勿喷。

0X00.Dockerfile里面apt-get安装的时候最好加vim等运维需要的命令

虽然这不是bug,但是我还是想提一句,如果up的服务没有异常却不知道哪里出了问题,可以exec进去看看,改代码或者安装什么东西,最好把运维需要的命令都在dockerfile里面写好,方便之后的debug和运维。

 

0X01.依赖问题

首先:安装依赖前需要将pip更新

下面是docker的文件和requirements.txt

Docker学习记录之Flask转docker

这里安装的时候出现了缺少模块的问题,但是确实requestments里面写了,再仔细看log的话可以看到版本不存在的问题。

还有模块名字是否书写正确,以及下面的一个bug:

 

0X02.from flask import Flask

ImportError: No module named flask

1.这个问题可能是因为文件或者文件夹重名导致,我检查了一遍并没有这样的情况。

2.解决这个问题方案是pip install flask

 

0X03.端口映射问题

因为习惯了写php的docker,突然转pythonweb的时候脑子没转过来,flask默认端口是5000,而不是80,部署的时候奇怪一直起不来服务。

后来一拍脑门是端口问题,真的是傻了(新手上路

我的run命令是:

docker run -id –name ‘PasteBin’ -p 9002:5000 ‘pastebin’ /start.sh

 

 

0X04.ip问题(我也不知道是不是这个问题)

Docker学习记录之Flask转docker

服务一直都起不来,今天不知道在书上还是在哪看到说最好用0.0.0.0来跑,因为vps本地的127.0.0.1不一定映射到外网?记不大清了,忘记在哪瞟了一眼。也可能记错了吧。反正改为0.0.0.0没错。

 

0X05.flask启动服务需要一段时间

后来其实我已经把bug改完了,但是我习惯直接看docker ps -a来决定是否起服务成功。

看到起成功了就访问该端口,结果发现服务没跑起来就很迷,后来exec连上去看重启app.py说端口已经占用了,这个时候我就知道其实服务已经开起来了,访问果然如此。

Docker学习记录之Flask转docker

这里用了半分钟才起服务。hhh

 

菜鸡的docker、pythonweb学习之路还很长。

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: