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

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

相关推荐
张文君6 小时前
docker使用代理拉取镜像
运维·docker·容器
陌路207 小时前
Docker教程从入门到精通(0基础)
运维·docker·容器
初级炼丹师(爱说实话版)8 小时前
Ubuntu24.04 Docker+vLLM+qianwen2.5-coder-32B部署文档
docker·容器·vllm
ᥬ 小月亮14 小时前
SonarQube使用教程(Docker安装)
运维·docker·容器
在世修行14 小时前
Windows 上 Docker Desktop 部署 MySQL + TDengine 全过程(含 WSL 报错与镜像加速排障实战)
windows·mysql·docker·tdengine
自律最差的编程狗15 小时前
从零搭建:VMware + Ubuntu + Docker + MySQL 完整指南
mysql·ubuntu·docker
老虎海子16 小时前
Dockerfile 零基础:指令详解 + Compose 对比 + 前端镜像实战
开发语言·前端·docker·rpc
天空之外13617 小时前
Docker安装MySQL 8.4 LTS、Docker安装Redis 7.4.x、Docker安装MinIO
java·mysql·docker
空谷有来人17 小时前
springcloud中配置ci/cd集成docker的配置文件
spring cloud·ci/cd·docker
空谷有来人17 小时前
docker安装redis
redis·docker·容器