首页 > 其他分享 >flask简单自学(docker形式)

flask简单自学(docker形式)

时间:2024-09-03 16:56:34浏览次数:13  
标签:nginx flask app python 自学 mysql docker port

前言

参考详细地址:https://juejin.cn/post/6970663530215407652,感谢作者,作者主页直达

正文

flask的dockerfile(python版本3.8.6)
注意:在docker里面运行python需要指定host和port:app.run(host=‘0.0.0.0’, port=5000,debug=True)
在这里插入图片描述
requirements.txt 依赖项内容:
Flask
gunicorn
项目目录如下:
在这里插入图片描述

docker-compose.yml文件

version: '3'

services:
  flask:
    build:
      context: ./app
    container_name: flask
    ports:
      - "5001:5000" # Flask's internal port mapped to host port 5001
    volumes:
      - D:\python\app:/home/app
    environment:
      PYTHONUNBUFFERED: 'true'
      DATABASE_URL: mysql://python:python_123456@mysql:3306/python_db
      REDIS_URL: redis://redis:6379/0
    networks:
      - app_network

  nginx:
    build:
      context: ./nginx
    container_name: nginx
    ports:
      - "5000:5000" # Nginx's internal port 5000 mapped to host port 5000
    depends_on:
      - flask
    volumes:
      - ./nginx/conf:/etc/nginx/conf.d
    networks:
      - app_network
  #容器mysql使用工具可以连接但是在flask里面连不上,不管是flask_mysqldb还是pymysql都不行,可能是端口映射的问题,先使用本地mysql,后期找下原因
  # mysql:
  #   build:
  #     context: ./mysql
  #   container_name: mysql
  #   ports:
  #     - "3307:3306" # MySQL's internal port 3306 mapped to host port 3307
  #   volumes:
  #     - ./mysql/data:/var/lib/mysql
  #     - ./mysql/conf:/etc/mysql/conf.d
  #   environment:
  #     MYSQL_ROOT_PASSWORD: 123456
  #     MYSQL_DATABASE: python_db
  #     MYSQL_USER: python
  #     MYSQL_PASSWORD: python_123456
  #   networks:
  #     - app_network

  redis:
    build:
      context: ./redis
    container_name: redis
    ports:
      - "6380:6379" # Redis's internal port 6379 mapped to host port 6380

  supervisord:
    build:
      context: ./supervisord
    container_name: supervisord
    ports:
      - "9001:9001" # Supervisord's web interface port
    volumes:
      - ./supervisord/conf:/etc/supervisor/conf.d
    depends_on:
      - flask
      - nginx
    networks:
      - app_network

networks:
  app_network:
    driver: bridge

上面的mysql一直连不上,当时因为一些原因没时间处理使用了本地的mysql,有知道的大佬可以告知一下原因
下面是项目具体目录,在app文件夹里面使用了简单的蓝图:
在这里插入图片描述
views当时是过于随意命名了,可以改成其他的,里面是mvc里面的c部分功能
有兴趣的大佬可以查看一下资源

标签:nginx,flask,app,python,自学,mysql,docker,port
From: https://blog.csdn.net/weixin_42695345/article/details/141864602

相关文章

  • (3-5)绘制散点图和折线图:Flask+pygal+SQLite实现数据分析
    3.5 Flask+pygal+SQLite实现数据分析在本节的内容中,将使用Flask+pygal+SQLite3实现数据分析功能。将需要分析的数据保存在SQLite3数据库中,然后在FlaskWeb网页中使用库pygal绘制出对应的统计图。3.5.1 创建数据库首先使用PyCharm创建一个FlaskWeb项目,然后通过文件model......
  • docker-compose轻松部署jenkins
    一、安装部署docker1、安装docker-ce可以参考:docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站(aliyun.com)https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.3e221b11EZ9mMK2、配置docker镜像加速[root@docker~]#cat/etc......
  • 基于python+flask框架的企业员工献血管理平台(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着企业社会责任意识的增强和公众对健康公益事业的日益关注,企业员工献血已成为企业履行社会责任、展现人文关怀的重要方式之一。然而,传统......
  • 基于python+flask框架的绿洲便利店商品售卖系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着现代都市生活节奏的加快,消费者对便捷购物服务的需求日益增长。便利店作为零售业态的重要组成部分,以其商品种类丰富、位置便利、服务快......
  • 基于python+flask框架的图书管理系统(开题+程序+论文) 计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和数字化时代的到来,图书馆作为知识传播与存储的重要机构,其管理方式正经历着深刻的变革。传统的图书管理模式依赖人......
  • 从零开始:用Flask和UIAutomation构建RPA微信自动群发工具
    文章目录前言一、环境搭建系统要求flask安装uiautomation安装二、群发功能的实现要导入的包1.构建WxOperation类2.搜寻被发送人3.发送文本4.发送文件5.接收消息三、构建后端服务要导入的包文件框架1.index.html文件2.app.py四、成果展示总结前言在这个数字化......
  • docker常用命令
    1、命令汇总官方命令说明:https://docs.docker.com/engine/reference/commandline/docker/dockerversion#显示docker的版本信息dockerinfo#显示docker的系统信息,包括镜像和容器的数量docker--help#帮助命令docker子命令--h......
  • 【有源码】基于爬虫+python的美食数据分析与可视化flask热门美食推荐系统的设计与实现
    注意:该项目只展示部分功能,如需了解,文末咨询即可。本文目录1.开发环境2系统设计2.1设计背景2.2设计内容3系统展示3.1功能展示视频3.2系统页面4更多推荐5部分功能代码1.开发环境开发语言:Python采用技术:flask、爬虫数据库:MySQL开发环境:PyCharm2系统......
  • 在本地通过Docker安装MySQL并配置持久化
    看前须知这里使用Mac下的OrbStack代替Docker,都是命令行操作,除了可能出现的UI不同外没有任何区别。拉取镜像由于是Mac环境,所以优先使用arm64结构,关于是否支持所需架构,可以在DockerHub上查,一般支持的都会写明。这里搜索MySQL,进入官方镜像就可以在Overview的Quickreference(co......
  • cwl docker
     #!/usr/bin/envcwl-runnercwlVersion:v1.0class:CommandLineToollabel:echodoc:|NCBIBlastNNucleotide-NucleotideBLASTrequirements:InlineJavascriptRequirement:{}ResourceRequirement:coresMax:3ramMax:10240hints:DockerR......