Docker部署Flask应用的实现步骤

一、目的

本地写好一个Flask应用,用Docker封装,上传至自己的服务器,完成部署。

流程图:

二、实验环境

本地:Windows10 1909

服务器:阿里云Centos系统

三、所需软件

1.DockerDesktop

2.Pycharm 2020.3.3

四、步骤

1.本地完成Flask应用的编写

(1)在PyCharm里新建一个Flask应用docker_flask

(2)安装gunicorn,gevent包

(3)新建gunicorn.config.py文件,并填入以下内容

workers = 5        # 定义同时开启的处理请求的进程数量,根据网站流量适当调整
worker_class = "gevent"  # 采用gevent库,支持异步处理请求,提高吞吐量
bind = "0.0.0.0:8080"   # 这里8080可以随便调整

(4)新建requirements.txt文件,并填入以下内容

flask
gunicorn
gevent

(5)创建Dockerfile文件,并填入以下内容

FROM python:3.7
WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install -r requirements.txt -i 

COPY . .

CMD ["gunicorn", "app:app", "-c", "./gunicorn.conf.py"] #前一个app是python启动的文件名,即app.py;后一个是flask项目里预启动的应用名

(6)项目结构

2.构建Docker镜像

1.进入本项目的目录

2.构建镜像,输入如下命令

docker build -t 'docker_flask' .

然后会执行六步操作,咋们不用管它,直接看结果

查看一下

好了,到这里咱们自制的镜像就弄好了,可以在本地跑跑,实验下。

3.上传镜像到阿里云仓库

(1)在阿里云上创建一个自己的Docker仓库。

(2)上传镜像

1.登录阿里云Docker Registry,记得用户名换成自己的。

docker login --username=你的阿里云用户名 registry.cn-hangzhou.aliyuncs.com

登录密码就是你的阿里云登录密码

2.输入以下两行命令,将镜像推送到Registry

docker tag [镜像的ID] registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名称:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名称:[镜像版本号]

然后又不用管,让它自己跑完就行

我这里是之前上传上去了

4.在服务器上拉取这个镜像并运行(当然服务器上得先把docker安好)

docker pull registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名:[镜像版本号]

ssh登录服务器,输入上面的命令,然后查看一下是否拉下来了

4.运行一下,看看能不能成

这里我把docker的8080端口映射到服务器的28080端口上

好了,输入服务器ip:28080,看看能不能看到Hello World!(记得开放端口)

到此这篇关于Docker部署Flask应用的实现步骤的文章就介绍到这了,更多相关Docker部署Flask应用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 使用Docker部署Nginx+Flask+Mongo的应用

    Nginx做为服务器,Mongo为数据库支持,Flask为Python语言的Web框架,利用Docker的容器特性,可以简单地部署在linux服务器上 项目准备 项目主要目录如下 __ project-name |__ docker-file |__ ningx |__ Dockerfile |__ conf |__ nginx.conf |__ flask |__ Dockerfile |__ requirements.txt |__ mongo |__ Dockerfile |__ setu

  • 在Docker上部署Python的Flask框架的教程

    本文中,我将尝试展示用Docker开发python应用(主要是Web应用)的可行方法.虽然我本人专注于Python的Flask微框架,但本文目的是演示如何通过Docker更好地开发和共享应用程序,(由任何语言和框架开发的应用程序).Docker通过封装依赖项,大大减少了开发环境和正式产品的差距. 大多数Python开发人员在开发中使用virtualenv.它提供了一种易用的机制让应用程序使用自己专用的依赖项,这些依赖项可能与在其它应用程序或操作系统存在冲突(尤其是不同的Pyhton版本,还有不同

  • Docker部署Flask应用的实现步骤

    一.目的 本地写好一个Flask应用,用Docker封装,上传至自己的服务器,完成部署. 流程图: 二.实验环境 本地:Windows10 1909 服务器:阿里云Centos系统 三.所需软件 1.DockerDesktop 2.Pycharm 2020.3.3 四.步骤 1.本地完成Flask应用的编写 (1)在PyCharm里新建一个Flask应用docker_flask (2)安装gunicorn,gevent包 (3)新建gunicorn.config.py文件,并填入以下内容 wor

  • 使用docker部署dubbo项目的方法步骤

    1.首先用springboot构建一个简单的dubbo测试程序,并引入相关依赖 编写公共接口api 编写provider实现UserSvice的方法,并暴露服务 编写provider的配置文件 编写Consumer 通过调用provider的服务获取user信息并返回 consumer的配置文件 测试程序已完成 在本地启动,看看程序是否能正常调用服务 启动zookeeper 先启动provider端再启动consumer端 通过dubbo的控制台看到我们的服务已经注册成功 通过访问本地,看到我们

  • Docker部署Microsoft Sql Server详细步骤

    目录 1 背景 2 创建容器 3 修改SA密码 4 链接mssql 5 容器外链接mssql 总结 1 背景 自 SQL Server 2019 CU3 起,支持 Ubuntu 18.04. 自 SQL Server 2019 CU10 起,支持 Ubuntu 20.04. Docker 引擎 1.8+ 至少 2 GB 的磁盘空间 至少 2 GB 的 RAM 博主机器: Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.11.0-37-generic x86_

  • docker部署安装jenkins的实现步骤

    首先,我们需要一台安装了docker的服务器.(这个我已经在我的小主机上安装了) 第一步,把镜像给拉下来 docker pull jenkins/jenkins:lts 第二步,创建映射目录 # 在适当的位置创建映射目录 mkdir -p jenkins_home # 查看目录权限 ls -nd jenkins_home # 改变拥有者为管理员 sudo chown -R 1000:1000 jenkins_home 第三步,启动jenkins # 查看docker的镜像 docker imag

  • windows下Docker部署Flask的详细教程

    Docker默认安装路径是在C盘,Windows中修改Docker**默认安装****路径方法: 1.先创建 D:\Program Files\Docker 目录 2.运行命令,创建链接 mklink /J "C:\Program Files\Docker" "D:\codeSoftware\Docker" 3.点击exe安装完成后,查看版本 docker -v 4.运行docker的hello world docker run hello-world 查看镜像 d

  • 在Idea中使用Docker部署SpringBoot项目的详细步骤

    前言 项目需要: 安装Dockeridea中安装docker插件,并配置docker一个SpringBoot项目创建Dockerfile 一.下载.安装.配置Docker下载Docker 下载地址:官网下载 Docker 安装 一直下一步就行 配置路径:Settings–General 勾选 Expose daemon on tcp://localhost:2375 without TLS 设置镜像,提高下载镜像的速度https://xaiqlt1z.mirror.aliyuncs.com 测试

  • Docker部署SpringBoot应用的实现步骤

    目录 前言 Dockerfile 什么是 Dockerfile? Dockerfile语法 打包SpringBoot项目 在本地将SpringBoot应用打包成jar 准备jar包和Dockerfile 编写Dockerfile 使用工具将jar和Dockerfile上传到服务器 构建镜像 查看镜像 创建并运行容器 查看正在运行的镜像 查看日志 前言 部署项目时可能会需要依赖于node.js.Redis.RabbitMQ.MySQL等,这些服务部署时所需要的函数库.依赖项各不相同,甚至会有冲突.

  • 如何使用docker部署前端应用的方法步骤

    docker 变得越来越流行,它可以轻便灵活地隔离环境,进行扩容,方便运维管理.对开发者也更方便开发,测试与部署. 最重要的是, 当你面对一个陌生的项目,你可以照着 Dockerfile,甚至不看文档(文档也不一定全,全也不一定对)就可以很快让它在本地跑起来. 现在很强调 devops 的理念,我把 devops 五个大字放在电脑桌面上,格物致知了一天.豁然开朗,devops 的意思就是写一个 Dockerfile 去跑应用(开玩笑. 这里介绍如何使用 Docker 部署前端应用.千里之行,始于

  • 使用Docker部署Angular项目的方法步骤

    Docker 部署 Angular 项目有两种方法,一种是服务端渲染,这个官方文档已有说明,另一种就是使用 node 镜像编译后放入 web 服务器.由于在 node 环境,所以使用 express 最为便捷了. 创建 server.js const express = require('express'); const app = express(); const config = { root: __dirname + '/dist', port: process.env.PORT || 4

  • Docker部署java项目的详细步骤(利用Dockerfile方式)

    目录 前言 1. 首先找一个你熟悉的目录下创建一个目录upload(这个目录可以随便),并把java的linux和jar包上传进去 2. 创建一个名为 Dockerfile文件 3. 以上命令配置完成后,即可输入命令进行build,然后回车 4 . 启动该容器 5. 访问地址 总结 前言 如何将java项目部署到Docker中呢,这里以一个springboot为例 以下命令全部都是以linux为基础的 1. 首先找一个你熟悉的目录下创建一个目录upload(这个目录可以随便),并把java的li

随机推荐