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

点击部署

设定应用名称

选择版本

选择主机

下一步,进行部署

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

立即部署

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管理--集群管理--管理主机

找到你要管理的主机:

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

先停止

再删除

注意:

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

原文地址:https://www.cnblogs.com/jackadam/p/8444230.html

时间: 2024-11-08 23:58:55

docker 部署 flask(一)配置环境及测试的相关文章

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

使用 docker 部署常用的开发环境 Intro 使用 docker,很多环境可以借助 docker 去部署,没必要所有的环境都在本地安装,十分方便. 部署 SqlServer docker 部署 SqlServer 2017 linux docker run -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=<YourStrong!Passw0rd>' -p 1433:1433 --name sqlserver --restart=always -d mic

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

简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介绍如何在docker镜像中安装库(包)支持. 其实我也被卡了2天,没搞定. https://github.com/tiangolo/uwsgi-nginx-flask-docker/issues/38 在作者的 github问了,还是自己回答.哥真NB,自己提问,自己解答. 一:选择性的忽略 作者网

Docker 部署Redis并配置redis.conf

redis的dockerhub地址:https://hub.docker.com/_/redis 1).使用redis镜像的默认配置并开启AOF,默认的配置不设置密码,RDB/AOF存放在/data下,可远程访问: #docker run --name some-redis -d redis redis-server --appendonly yes 2).使用自定义的redis.conf: 其中redis.conf配置: **#redis开启守护进程,需要注释掉,不然容器无法跑起来** #da

node vue 微信公众号(三)配置环境 本地测试

1.去natap 配置端口号 //本地项目是8080端口,natapp就配置8080端口 2.ngrok配合vue-cli实现外网访问 1.去 https://ngrok.com/download 下载 3.修改vue-cli中的配置文件build/webpack.dev.conf.js在devServer中添加:disableHostCheck: true,添加完成后,运行npm run dev启动项目 4. 如自己的项目是localhost:8080,在cmd命令下运行ngrok http

【Flask】flask+uwsgi+nginx环境部署

在centos上,部署flask框架的环境,我选择了uwsgi和nginx 具体步骤为: 配置nginx+uwsgi 安装nginx  nginx/1.12.2安装Flask  0.10.1安装uwsgi  2.0.16(64bit)安装uwsgi-plugin-python 2.0.16 创建一个flask项目 1 #!/usr/bin/python 2 # coding=utf-8 3 4 from flask import Flask 5 import sys 6 reload(sys)

docker 部署应用

Docker 部署应用 所需环境 Linux系统:centos7 (推荐7.4) Docker环境:V1.13.1 镜像:应用镜像包 部署过程: 1. docker环境搭建 a)        配置代理,可进行在线安装docker (可直接联网则无需配置) b)        Yum –y install docker 成功安装docker 2. docker的基本操作以及命令 a)        打开/关闭/重启docker服务:sudo service docker start/stop/r

在生产环境使用Docker部署应用

导读 Docker现在越来越流行,但是真正在生产环境部署Docker还是个比较新的概念,还没有一个标准的流程.作者是ROR的程序员,作者结合平时的部署经验,联系Docker的特点,向大家分享了其在生产环境使用Docker部署应用程序的一个实践. Docker是现在开发应用程序的不错选择:因为对于一个研发组来说,部署一个应用再也不用像以前那样繁琐的修改.设置配置文件了:因为对于Docker来说它“屏蔽”了应用程序的运行环境,不管你使用Mac.Linux还是Windows都能用相同的方式运行. 但是

Docker部署Apollo配置中心

开始使用Docker部署Apollo配置中心之前,首先需要机器安装Docker环境本文使用Vresion: 2.0.0.0-mac81 (29211)测试部署,并使用以下镜像: mysql apollo-configservice apollo-adminsrevice apollo-portal 因为本文为纯部署目的,因此不在这里讲解Apollo的一些知识,如有需要可查看官方GitHub地址(https://github.com/ctripcorp/apollo). 上面提到的镜像除了Mysq

Docker网络配置、Docker部署分布式项目

目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需要在创建容器时使用--net去指定 1.bridge模式(默认模式) docker run时使用--net=bridge,这种模式会为每个容器分配一个独立的Network Namespace, 同一个宿主机上的所有容器会