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

Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options
Google Translate GTranslateWinS Options

简介:html

flask也是要部署的。不能老在咱们的pycharm里面跑测试服务器。python

各类配置linux,我看就算了吧。咱们用docker部署。linux

也就两三行命令。nginx

一:选择基础镜像git

GitHub repo: https://github.com/tiangolo/uwsgi-nginx-flask-dockergithub

Docker Hub image: https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask/docker

这个应该是比较好的,做者维护的也不错,不少人都在用这个。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 80:80 tiangolo/uwsgi-nginx-flask:python3.6-alpine3.7

等命令提示符再出来的时候就执行完了。

尝试访问服务器地址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 0

临时关闭后能够用这个来从新开启

setenforce 1

这个命令用来查看状态: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管理--集群管理--管理主机

找到你要管理的主机:

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

先中止

再删除

 

注意:

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

相关文章
相关标签/搜索