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 ...
随机推荐
- Linux系统编程--文件描述符的复制dup()和dup2()【转】
本文转载自:http://blog.csdn.net/tennysonsky/article/details/45870459 dup() 和 dup2() 是两个非常有用的系统调用,都是用来复制一个 ...
- Notepad++7.5.4 设置主题,使用插件
首先官网下载 Notepad++7.5.4 默认英文转换成中文 下面设置主题: 设置-->语言格式设置 选择主题Obsidian,字体选择等宽字体Consolas,大小为11,选择全局字体,使用 ...
- LightOJ 1393 Crazy Calendar(博弈)题解
题意:r*c方格中,每个格子有一定石子,每次移动每格任意数量石子,只能向下或者向右动一格,不能移动为败 思路:显然是Nim,到右下曼哈顿距离为偶数的不用管,因为先手动一下后手动一下最后移到右下后还是先 ...
- linux 安装MySql 5.7.20
1.下载文件(https://pan.baidu.com/s/1c1VBcHy)放到目录:/usr/local/ 2.解压 cd /usr/local/ tar -zxvf mysql-5.7.20- ...
- left join联查提高执行性能
本文为博主原创,未经允许不得转载: 在项目应用中,很多功能需要多张数据库表联查,甚至跨数据库查询获取数据.sql的执行性能很能影响 服务的体验感,今天就遇到了这样问题,原来的sql是这样的: sele ...
- UVa 11400 照明系统设计
https://vjudge.net/problem/UVA-11400 题意: 有一个照明系统需要用到n种灯,每种灯的电压为V,电源费用K,每个灯泡费用为C,需要该灯的数量为L.注意到,电压相同的灯 ...
- nodejs+gulpjs压缩js代码
1.安装node.js 下载地址:nodejs.org 或者 nodejs.cn 2.安装gulp之前我们需要安装nodejs的环境,检测能够正常使用npm后,我们用npm对gulp进行一次全局安 ...
- phpmyadmin 定位表
一个数据库,里面有几百个表.如何快速定位需要的表呢? 关键字查询,就好了! 很方便,很实用. 建表的时候,相关性比较强的,就用同一个前缀.
- NIO 之 ByteBuffer
前言 对于刚接触ByteBuffer人来说,想要完全理解会稍微有点困难,正巧前几天有人问我,想到好久没写文章,就整理一下. 概念理解 对于ByteBuffer的一些概念不理解的情况下,如果直接打开源码 ...
- /var/run/dbus/system_bus_socket no such file or directory
参考:http://fixmyos.blogspot.jp/2011/10/failed-to-connect-to-socket.html /var/run/dbus/system_bus_sock ...