如何使用Flask和Docker构建管理仪表板

286 阅读2分钟

编码员们好!

本文介绍了在现代Bootstrap 5设计基础上用Flask和Docker构建的一个简单的管理仪表板。Volt Dashboard。该产品可以在很多方面使用,从简单的学习到快速启动一个可以生产的项目。对于新人来说,Flask是一个流行的轻量级网络框架,而Docker是一个用于构建和交付软件的虚拟化软件。

谢谢你的阅读!- 内容由App Generator提供。

Flask Volt Bootstrap 5- 产品页面(包含DEMO和源代码)

Bootstrap Admin Dashboard built with Flask and Docker.

启动和使用这个免费产品最简单的方法可能是在产品页面上下载源代码,然后在Docker中启动应用。

步骤#1- 下载并解压源码

$ unzip flask-dashboard-volt.zip
$ cd flask-dashboard-volt

步骤#2- 在Docker中启动

$ docker-compose pull 
$ docker-compose build 
$ docker-compose up

一旦上述所有命令被执行,我们就可以在浏览器中访问Flask Volthttp://localhost:85 ,并与UI进行交互。

Login page of an open-source Bootstrap Admin Dashboard built with Flask and Docker.

下面列出的相关文件,可以用来轻松地将任何Flask项目Docker化。

  • Dockerfile - Docker设置的入口
  • docker-compose.yml - 配置用于部署项目的模块和网络层
  • gunicorn-cfg.py - 配置Gunicorn(WSGI)服务器
  • Nginx - 处理浏览器请求的HTTP服务器

Dockerfile- 文件内容

FROM python:3.9

COPY . .

# set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# install python dependencies
RUN pip install --upgrade pip
RUN pip install --no-cache-dir -r requirements.txt

# gunicorn
CMD ["gunicorn", "--config", "gunicorn-cfg.py", "run:app"]

该文件基本上是在Docker容器中复制源代码,使用Python 3.9作为运行环境,安装依赖项和Gunicorn作为WSGI服务器。

docker-compose.yml- Docker栈配置器

version: '3.8'
services:
  appseed-app:
    container_name: appseed_app
    restart: always
    env_file: .env
    build: .
    networks:
      - db_network
      - web_network
  nginx:
    container_name: nginx
    restart: always
    image: "nginx:latest"
    ports:
      - "85:85"
    volumes:
      - ./nginx:/etc/nginx/conf.d
    networks:
      - web_network
    depends_on: 
      - appseed-app
networks:
  db_network:
    driver: bridge
  web_network:
    driver: bridge 

上述设置将在85端口暴露应用程序(见ports node)。

要将这些文件整合到另一个项目中,我们只需要编辑Dockerfile ,以匹配新的应用程序的签名(对于这个例子,run:app ),然后复制所有提到的文件即可。

...
CMD ["gunicorn", "--config", "gunicorn-cfg.py", "run:app"]

当项目在浏览器中运行时,我们可以创建、验证和访问这个简单的Flask仪表板提供的所有私人页面。

完整的功能。

  • 最新的依赖性。Flask 2.0.1
  • 通过Gulp进行SCSS编译
  • DBMS:SQLite、PostgreSQL(生产)。
  • DB工具。SQLAlchemy ORM, Flask-Migrate (模式迁移)
  • 使用蓝图的模块化设计,简单的代码库
  • 基于会话的认证(通过flask_login),表单验证
  • 部署脚本。Docker, Gunicorn / Nginx, Heroku

User Profile page of an open-source Bootstrap Admin Dashboard built with Flask and Docker.

谢谢你的阅读!更多资源,请访问。