这几天迁移了网站,把mysql和flask都运行到了docker容器里面,还用nginx做了应用的负载均衡。中间踩了不少坑,在此记录下:
1、python2不支持中文,就算设置了中文环境,代码里的中文依然报错,python3就没问题。
3、python2和python3的邮件发送函数不一样,同样代码不能套用。
3、还是不要自己构建python3镜像,很麻烦,直接pull官方指定版本就好。
4、docker容器可以指定挂载目录,例如 docker run -it --name flask3 -v /usr/local/web/bluelog/bluelog/images:/root/bluelog/bluelog/images flask3 /bin/bash
5、直接在dockerfile里面设置好环境变量和安装依赖就行。
6、迁移后发现网页的样式有一点变化,在容器里更新Bootstrap-Flask即可,但是要是在构建镜像的时候就在requirements.txt里指定更新后的版本,运行容器后还是有问题,必须得先用旧版本构成容器后,再在容器里面更新成新版本才行。。。搞不清原因何在。
Reply to yuany:
Cancel
3 Comments latest
yuany
2019-12-18T09:41:19Z暂时手动构建docker,后面再玩玩docker-compose和k8s,容器学习内容多着呢。
yuany Author Reply
2019-12-25T09:00:31Zyuany:
暂时手动构建docker,后面再玩玩docker-compose和k8s,容器学习内容多着呢。
项目的docker-compose容器编排弄好了,k8s再说吧
myself
2019-12-30T06:22:22Z用nginx的upstream做负载均衡是出了个bug,网址会变成upstream的变量名,将其改成yuany.net就可以了。