docker 部署 flask(一)配置环境及测试docker 部署 flask(一)配置环境及测试
docker 部署 flask(一)配置环境及测试docker 部署 flask(一)配置环境及测试
docker 部署 flask(一)配置环境及测试docker 部署 flask(一)配置环境及测试
docker 部署 flask(一)配置环境及测试docker 部署 flask(一)配置环境及测试
docker 部署 flask(一)配置环境及测试docker 部署 flask(一)配置环境及测试
docker 部署 flask(一)配置环境及测试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 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

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

 点击部署

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

设定应用名称

选择版本

选择主机

下一步,进行部署

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

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

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

立即部署

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

 

 

 uwSGI worker 就证明工作了。

 

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

 

尝试访问服务器地址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 验证一下。

如下图所示。

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

2.图形界面删除。

进入daocloud管理--集群管理--管理主机

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

找到你要管理的主机:

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

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

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

先停止

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

再删除

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

注意:

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

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

 

相关文章: