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 小时前
第16章:docker企业级实战综合项目
运维·git·安全·docker·容器·eureka
zh73144 小时前
docker日志监控dozzle,高性能,性能消耗小
运维·docker·容器
weixin_471383035 小时前
Docker - 05 - Railway 部署
运维·docker·容器
江畔柳前堤5 小时前
第15章:docker故障排查与面试题
大数据·运维·git·elasticsearch·docker·容器·eureka
江畔柳前堤5 小时前
第07章:Docker 网络模型
运维·网络·git·elasticsearch·docker·容器·架构
江畔柳前堤6 小时前
第17章:Docker 大厂面试题精选(腾讯/阿里/字节/美团)
运维·网络·spring cloud·docker·容器·eureka
辉的技术笔记9 小时前
Dify 卡在入口?Gunicorn + Nginx 的正确打开方式
docker
江畔柳前堤10 小时前
第14章:Docker 与 CI/CD
运维·ci/cd·docker·容器·eureka·github
辉的技术笔记1 天前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
程序员老赵2 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理