python写的服务,用docker制作镜像并且打包

步骤1 简单写一个python服务脚本app.py,通过http访问一个端口,收到helloworld

from flask import Flask, request

app = Flask(name)

@app.route('/', methods=['GET']) # 确保包括'GET'方法

def hello_world():

return 'Hello, World!'

if name == 'main':

app.run(host='0.0.0.0', port=5002)

步骤2 生成requirements.txt文件

pip freeze->requirements.txt

步骤3 准备Dockerfile文件

使用官方Python 3.12镜像作为基础镜像

FROM python:3.12

设置工作目录

WORKDIR /app

将当前目录内容复制到容器内的/app目录

COPY . /app

安装依赖,假设你有一个requirements.txt文件

RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip

RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

运行时暴露端口

EXPOSE 5002

定义环境变量

ENV NAME World

运行应用

CMD ["python", "app.py"]

步骤4 build镜像

在目录下cmd,输入docker build -t mydockertest:1.0 .(注意后面的空格和点)

步骤5 打包镜像

打开docker desktop 可以看到镜像正常运行

然后打开文件目录

cmd输入 docker save -o my-image.tar mydockertest

可以看到镜像成功生成在当前文件夹里

相关推荐
金刚猿3 小时前
01_虚拟机中间件部署_root 用户安装 docker 容器,配置非root用户权限
docker·中间件·容器
JH_Kong4 小时前
解决 WSL 中 Docker 权限问题:从踩坑到完整修复
docker·容器
忆~遂愿4 小时前
GE 引擎与算子版本控制:确保前向兼容性与图重写策略的稳定性
大数据·开发语言·docker
70asunflower8 小时前
Emulation,Simulation,Virtualization,Imitation 的区别?
linux·docker
春日见9 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
xuhe29 小时前
[全流程详细教程]Docker部署ClawBot, 使用GLM4.7, 接入TG Bot实现私人助理. 解决Docker Openclaw Permission Denied问题
linux·docker·ai·github·tldr
星火s漫天10 小时前
第一篇: 使用Docker部署flask项目(Flask + DB 容器化)
数据库·docker·flask
MonkeyKing_sunyuhua11 小时前
docker compose up -d --build 完全使用新代码打包的方法
docker·容器·eureka
醇氧12 小时前
【docker】mysql 8 的健康检查(Health Check)
mysql·docker·容器
技术路上的探险家12 小时前
Ubuntu下Docker与NVIDIA Container Toolkit完整安装教程(含国内源适配)
linux·ubuntu·docker