简介:

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. SxsTrace

    https://troubleshooter.xyz/wiki/fix-the-application-has-failed-to-start-because-the-side-by-side-con ...

  2. [bzoj 1616][Usaco2008 Mar]Cow Travelling游荡的奶牛

    题目描述 奶牛们在被划分成N行M列(2 <= N <= 100; 2 <= M <= 100)的草地上游走,试图找到整块草地中最美味的牧草.Farmer John在某个时刻看见 ...

  3. LLDP协议、STP协议 笔记

    参考: 数据链路层学习之LLDP 生成树协议 LLDP协议.STP协议 笔记 LLDP 提出背景: 随着网络技术的发展,接入网络的设备的种类越来越多,配置越来越复杂,来自不同设备厂商的设备也往往会增加 ...

  4. 卸载 mysql

    sudo apt-get remove mysql-* dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P 之后会跳出一个弹框点击“是”就行了

  5. 《A_Pancers》团队项目用户验收评审

    团队项目用户验收评审 一.关于源代码管理的10 个问题: 1.你的团队的源代码控制在哪里?用的是什么系统?如何处理文件的锁定问题? 我们的项目都在github上面,用的win10系统,并且我们的文件没 ...

  6. 《剑指offer》第八题(重要!查找二叉树的中序遍历的下一个结点)

    文件一:main.cpp // 面试题:二叉树的下一个结点 // 题目:给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? // 树中的结点除了有两个分别指向左右子结点的指针以外,还有 ...

  7. Isotig & cDNA & gene structure & alternative splicing & gene loci & 表达谱

    参考:高通量测序相关名词 Isotig 指在转录组de novo测序时,用454平台测序完成后组装出的结果,一个isotig可视为一个转录本. Isogroup 指转录组de novo测序中,用454 ...

  8. 【转】ArcGIS API for Silverlight/WPF 2.1学习笔记(二)

      五.Graphics layer 1.新增Graphics layer Graphics layer用于显示用户自定义绘制的点.线.面图形.使用时确保xaml文件中Graphics layer定义 ...

  9. Confluence 6 启用嵌套用户组

    一些目录服务器能够允许你在一个组中定义另外一个组.在这种结构下的用户组称为用户组嵌套.嵌套组的配置能够让子用户组继承上级用户组的权限,使系统的权限配置变得简单. 这个页面描述了 Confluence ...

  10. Redis Commands(1)

    Redis 命令分为15类,如下: Cluster Connection Geo Hashes HyperLogLog Keys Lists Pub/Sub Scripting Server Sets ...