docker 部署 flask(一)配置环境及测试












简介:
flask也是要部署的。不能老在我们的pycharm里面跑测试服务器。
各种配置linux,我看就算了吧。我们用docker部署。
也就两三行命令。
一:选择基础镜像
GitHub repo: https://github.com/tiangolo/uwsgi-nginx-flask-docker
Docker Hub image: https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask/
这个应该是比较好的,作者维护的也不错,很多人都在用这个。
本次选用版本为:python3.6-alpine3.7(66M)
二:准备服务器环境
1.操作系统安装
尽可能选择linux,即使没有,你也用虚拟机装一个。
2.ssh
配置支持ssh,sftp支持。方便用winscp传文件。
3.docker
根据你的linux版本,装上docker,并设置随系统启动自动开启。
4.daocloud.io
配置daocloud.io链接支持。
最终环境就是你可以很方便的用winscp连接一个配置了daocloud可管理docker的linux服务器。
5.端口检查
如果你已经有一些容器运行在这个服务器上,请检查是否已经占用80端口,443端口。并在后面的配置中,自行替换空闲端口。
后面的文章以80端口和443端口来演示。
6.对本小结内容不理解的请看:http://www.cnblogs.com/jackadam/p/8371081.html
艹,你要补的课比较多,不贴链接了。
三:测试基础镜像
下面有两种方式来测试基础镜像,请根据自身技术能力来决定跟随哪一部分来进行测试。(仅需要一种)
1.命令行方式
在linux服务器上执行这条命令:
docker run -d -p : tiangolo/uwsgi-nginx-flask:python3.-alpine3.
等命令提示符再出来的时候就执行完了。
尝试访问服务器地址80端口:http://192.168.1.3/(自行替换你的服务器IP地址。)
镜像和环境一切工作正常,浏览器会返回这个镜像的默认返回:
Hello World from Flask in a uWSGI Nginx Docker container with Python 3.6 (default)
注意事项:
"permission denied"如果有这样的提示,一般是selinux的原因。
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
可以用下面的这个命令临时关闭,下次重启就会再次开启
setenforce
临时关闭后可以用这个来重新开启
setenforce
这个命令用来查看状态:Enforcing是开启 Permissive是关闭
getenforce
2.图形方式
登录daocloud,依次点击 发现镜像--Docker Hub--输入flask--找到tiangolo/uwsgi-nginx-flask

点击部署

设定应用名称
选择版本
选择主机
下一步,进行部署

点击动态端口,给定映射端口

立即部署

uwSGI worker 就证明工作了。

尝试访问服务器地址80端口:http://192.168.1.3/(自行替换你的服务器IP地址。)
镜像和环境一切工作正常,浏览器会返回这个镜像的默认返回:
Hello World from Flask in a uWSGI Nginx Docker container with Python 3.6 (default)
四:删除测试容器。
还是两种方法,命令行,图形。
1,命令行:
docker ps
docker stop ac4
docker rm ac4
docker ps
注意:
docker ps 是列出正在运行的容器。 ac4 是我准备删除的容器的ID 的前3位,要根据你的容器ID来写
可以看第二列 IMAGES 来找到你准备删除的容器。
先stop 停止容器,才可以rm 删除容器。
最后再docker ps 验证一下。
如下图所示。

2.图形界面删除。
进入daocloud管理--集群管理--管理主机

找到你要管理的主机:

根据镜像名或容器名找到准备删除的容器。

先停止

再删除

注意:
如果你是在图形界面配置启动的容器,那么请到应用目录删除相应的应用。

docker 部署 flask(一)配置环境及测试的更多相关文章
- 使用 docker 部署常用的开发环境
使用 docker 部署常用的开发环境 Intro 使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便. 前段时间电脑之前返厂修了,回来之后所有的软件都 ...
- Docker部署Flask应用
创建应用 首先,编写一个简单的Flask应用:docker_test/flask_app.py Docker 安装 请根据自己的操作系统自行安装. Docker简介 Docker 镜像 Docker镜 ...
- 使用docker部署nginx并配置https
我只有一台服务器,但我想在这台服务器上运行多个项目,怎么办? 总不能靠加端口区分吧? 百度和Google是个好东西,于是我找到了答案,使用nginx. 通过nginx,我可以给我的一台服务器配置两个域 ...
- centos上部署flask项目之环境配置-MySQL的安装
1.添加mysql 的yum源 wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm' rpm ...
- docker 部署 flask(二)编写及生成镜像。
简介: 上一篇文章,我们简单的测试了一下服务器环境和docker基础镜像.并没有涉及我们自己编写的flask python程序. 现在,我们就要把我们自己的flask程序,放进docker镜像. 但是 ...
- 基于docker部署flask+gunicorn+nginx
nginx安装在/etc/下,项目映射在docker中的/var/www/下 1.创建docker容器将端口映射出来,将docker外的项目映射到docker中 #docker run -it -p ...
- docker 部署 flask(三)高级编写及生成镜像,安装requirements.txt
简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介 ...
- 用docker部署flask+gunicorn+nginx
说来惭愧,写了好几个flask django项目都是在原型阶段直接python app.py 运行的,涉及到部署用nginx和gunicorn 都是让别人帮我部署的,据说好像说很麻烦的样子,我就没自己 ...
- 从零开始docker部署flask
1.下载一个Ubuntu镜像 2.启动镜像,使用apt-get安装python.安装pip,建议也装个vim吧 3.通过以上的容器生成一个新的镜像,命令如下docker commit afcaf46e ...
随机推荐
- 深入理解JavaScript的变量作用域
在学习JavaScript的变量作用域之前,我们应当明确几点: JavaScript的变量作用域是基于其特有的作用域链的. JavaScript没有块级作用域. 函数中声明的变量在整个函数中都有定义. ...
- 64bit ubuntu如何使能安装32bit软件
答:使用一下命令即可: sudo dpkg --add-architecture i386
- BZOJ5293: [Bjoi2018]求和 树上差分
Description master 对树上的求和非常感兴趣.他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k 次方和,而且每次的k 可能是不同的.此处节点深度的定义是这个节点 ...
- BZOJ3297: [USACO2011 Open]forgot DP+字符串
Description 发生了这么多,贝茜已经忘记了她cowtube密码.然而,她记得一些有用的信息.首先,她记得她的密码(记为变 量P)长度为L(1 <= L<=1,000)字符串,并可 ...
- DFS回溯-函数递归-xiaoz triangles
题目:小z 的三角形 ★实验任务 三角形的第1 行有n 个由"+"和"-"组成的符号,以后每行符 号比上行少1 个,2 个同号下面是"+", ...
- ZOJ 3469 Food Delivery(区间DP)
https://vjudge.net/problem/ZOJ-3469 题意:在一条直线上有一个餐厅和n个订餐的人,每个人都有随时间上升的不满意值,从餐厅出发,计算出送完时最小的不满意值总和. 思路: ...
- UVa 253 骰子涂色
https://vjudge.net/problem/UVA-253 题意:输入两个骰子的六面颜色,判断是否等价. 思路:我最想到的是暴力,不过一直错,也不知道哪里错了.第二种方法就是在一个骰子里出现 ...
- Could not find a package configuration file provided by "ecl_build",.................couldn't find required component 'ecl_build'
sudo apt-get install ros-kinetic-ecl-build
- Java编程语言下 Selenium 驱动各个浏览器代码
这里采用的是Selenium3.7版本,首先介绍的是在Windows环境下运行的: 总结下注意事项: 1,设置各个浏览器的Driver路径 System.setProperty("" ...
- Node.js结合Selenium做Web自动化测试
发现腾讯课堂上有个node.js结合Selenium做Web自动化测试的教学视频, 听来感觉不错,一来老师讲的还不错,二来node.js这门语言会越来越热,学会总没什么坏处,三来发现CukeTest这 ...