附录2 创建flask镜像

2024-05-13 14:52
文章标签 镜像 创建 flask 附录

本文主要是介绍附录2 创建flask镜像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1  python镜像

2  安装flask

3  把项目文件扔进去

3.1  创建git仓库

3.2  上传文件

3.3  获取git链接

3.4  在容器中git clone

4  启动flask服务

5  将容器保存为镜像

6  映射端口运行镜像

7  遇到的问题

8  Dockerfile创建镜像


1  python镜像

首先找一下flask的镜像,发现没有官方的

我们转而下载python的镜像,然后在里面安装flask,我们就用第一个

然后把镜像拉下来

这个镜像本质上是一个装好python的linux

2  安装flask

3  把项目文件扔进去

我这里就直接以公网的服务器做例子,有很多种方式可以把文件弄进去。

  • SSH,从本地弄到公网服务器上,然后docker cp进去
  • 做一个文件的链接,在容器中直接用命令发get请求进行下载

下面说一下git的使用方法,这个不适合不能把源码放到git平台的项目

3.1  创建git仓库

3.2  上传文件

把文件拖进去

3.3  获取git链接

3.4  在容器中git clone

python镜像中已经安装好了git

4  启动flask服务

这里最好是不要出现中文

如果用的虚拟机可以直接访问到这个服务

但是到这还没结束,这只是在docker的内网中可以用,我们需要将端口映射出去,让实体机windows可以访问到

绿色的圈是一个内网,红色的圈是一个内网。在实际工作中,上图的虚拟机替换为服务器,实体机替换为用户

保存之前我把中文改掉了

然后把/home/test这个文件夹权限改为777

5  将容器保存为镜像

ctrl + c 结束服务,然后exit退出镜像,之后查看容器的ID

docker commit 保存镜像

6  映射端口运行镜像

docker中的端口是5000,我想映射到虚拟机的5001

之后就能在实体机windows上访问虚拟机的IP+端口了

7  遇到的问题

出现了这两个问题

把test这个文件夹权限调为777就行了

8  Dockerfile创建镜像

如果你想教别人用你的容器,手动搞终究是麻烦了一点,大量的命令需要放入容器,然后容器产生镜像,之后启动的时候也需要额外的命令。因此在手动搞过一遍或大概了解后,用Dockerfile更方便一些

Dockerfile内容。注意解压缩的时候需要cd到压缩包的位置,然后解压缩。CMD后面的命令不要加引号

根据dockerfile创建镜像 docker build -t suyu_flask_dockerfile:20240511 . --no-cache

  • --no-cache是不使用之前的缓存

根据镜像创建容器,容器内是5000端口,虚拟机是5001端口

可以成功运行

可以在实体机访问服务

这篇关于附录2 创建flask镜像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/986018

相关文章

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Python Flask实现定时任务的不同方法详解

《PythonFlask实现定时任务的不同方法详解》在Flask中实现定时任务,最常用的方法是使用APScheduler库,本文将提供一个完整的解决方案,有需要的小伙伴可以跟随小编一起学习一下... 目录完js整实现方案代码解释1. 依赖安装2. 核心组件3. 任务类型4. 任务管理5. 持久化存储生产环境

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

Python用Flask封装API及调用详解

《Python用Flask封装API及调用详解》本文介绍Flask的优势(轻量、灵活、易扩展),对比GET/POST表单/JSON请求方式,涵盖错误处理、开发建议及生产环境部署注意事项... 目录一、Flask的优势一、基础设置二、GET请求方式服务端代码客户端调用三、POST表单方式服务端代码客户端调用四

Conda国内镜像源及配置过程

《Conda国内镜像源及配置过程》文章介绍Conda镜像源使用方法,涵盖临时指定单个/多个源、永久配置及恢复默认设置,同时说明main(官方稳定)、free(逐渐弃用)、conda-forge(社区更... 目录一、Conda国内镜像源二、Conda临时使用镜像源指定单个源临时指定多个源创建环境时临时指定源

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

MySQL的触发器全解析(创建、查看触发器)

《MySQL的触发器全解析(创建、查看触发器)》MySQL触发器是与表关联的存储程序,当INSERT/UPDATE/DELETE事件发生时自动执行,用于维护数据一致性、日志记录和校验,优点包括自动执行... 目录触发器的概念:创建触www.chinasem.cn发器:查看触发器:查看当前数据库的所有触发器的定

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

flask库中sessions.py的使用小结

《flask库中sessions.py的使用小结》在Flask中Session是一种用于在不同请求之间存储用户数据的机制,Session默认是基于客户端Cookie的,但数据会经过加密签名,防止篡改,... 目录1. Flask Session 的基本使用(1) 启用 Session(2) 存储和读取 Se