简介:

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(一)配置环境及测试的更多相关文章

  1. 使用 docker 部署常用的开发环境

    使用 docker 部署常用的开发环境 Intro 使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便. 前段时间电脑之前返厂修了,回来之后所有的软件都 ...

  2. Docker部署Flask应用

    创建应用 首先,编写一个简单的Flask应用:docker_test/flask_app.py Docker 安装 请根据自己的操作系统自行安装. Docker简介 Docker 镜像 Docker镜 ...

  3. 使用docker部署nginx并配置https

    我只有一台服务器,但我想在这台服务器上运行多个项目,怎么办? 总不能靠加端口区分吧? 百度和Google是个好东西,于是我找到了答案,使用nginx. 通过nginx,我可以给我的一台服务器配置两个域 ...

  4. centos上部署flask项目之环境配置-MySQL的安装

    1.添加mysql 的yum源 wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'    rpm ...

  5. docker 部署 flask(二)编写及生成镜像。

    简介: 上一篇文章,我们简单的测试了一下服务器环境和docker基础镜像.并没有涉及我们自己编写的flask python程序. 现在,我们就要把我们自己的flask程序,放进docker镜像. 但是 ...

  6. 基于docker部署flask+gunicorn+nginx

    nginx安装在/etc/下,项目映射在docker中的/var/www/下 1.创建docker容器将端口映射出来,将docker外的项目映射到docker中 #docker run -it -p ...

  7. docker 部署 flask(三)高级编写及生成镜像,安装requirements.txt

    简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介 ...

  8. 用docker部署flask+gunicorn+nginx

    说来惭愧,写了好几个flask django项目都是在原型阶段直接python app.py 运行的,涉及到部署用nginx和gunicorn 都是让别人帮我部署的,据说好像说很麻烦的样子,我就没自己 ...

  9. 从零开始docker部署flask

    1.下载一个Ubuntu镜像 2.启动镜像,使用apt-get安装python.安装pip,建议也装个vim吧 3.通过以上的容器生成一个新的镜像,命令如下docker commit afcaf46e ...

随机推荐

  1. Python 中的几种矩阵乘法 np.dot, np.multiply, *【转】

    本文转载自:https://blog.csdn.net/u012609509/article/details/70230204 Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.d ...

  2. MAKEFILE 编程基础之一【转】

    本文转载自:http://www.himigame.com/gcc-makefile/766.html 概述: 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Wind ...

  3. 51nod 1020 逆序排列 递推DP

    1020 逆序排列  基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题  收藏  关注 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么 ...

  4. UVa 208 消防车(dfs+剪枝)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  5. [转]python新手必碰到的问题---encode与decode,中文乱码--转载

    edu.codepub.com/2009/1029/17037.php 这个问题在python3.0里已经解决了. 这有篇很好的文章,可以明白这个问题: 为什么会报错“UnicodeEncodeErr ...

  6. 基于MySQl的分页显示

    <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.ResultSet ...

  7. UI 自动化测试 Macaca测试框架 安装时遇到的log

    https://macacajs.github.io/zh/environment-setup macaca run -d ./macaca-test/desktop-browser-sample.t ...

  8. springboot全局配置文件可设置的属性

    # =================================================================== # COMMON SPRING BOOT PROPERTIE ...

  9. Oracle学习笔记(一)——并发与锁

    1 并发 多用户数据库管理系统的一个主要任务是对 并发(concurrency)进行控制,即对多个用户同时访问同一数据进行控制.当缺乏有效的并发控制时,修改数据的操作就不能保证正常,从而危害数据完整性 ...

  10. HDU2017新生赛 找方块

    思路: 先n^3预处理出每个点能到达的(1010串)最上面的行下标. 然后再n^3暴力一下,对于每个点,往左走看能走到哪,边走边更新面积. 代码: #include<bits/stdc++.h& ...