基于 Docker 的 python grpc quickstart

工作之后一直使用的 RPC 框架是 Apache 的 thrift,现在发现 grpc 更流行,所以也要学习一下,先来简单的跑一下 demo。在本地安装运行也很方便,不过因为有了 docker,所以在 docker 里面安装运行隔离性更好,顺便也提升 docker 命令行的熟练度。

1.编写 Dockerfile 文件

sh 复制代码
FROM python:3.12
RUN python3 -m pip install --upgrade pip \
    && python3 -m pip install grpcio \
    && python3 -m pip install grpcio-tools
CMD ["/bin/bash"]

2.构建镜像

docker build -t rpc_py:0.2 .

注意:因为我镜像是分层构建的,它的这个 RUN 我之前已经构建过来,我这个 Dockerfile 只是修改了 CMD,所以它构建的很快。

3.拉取示例代码

git clone -b v1.62.0 --depth 1 --shallow-submodules https://github.com/grpc/grpc

注意:这个代码没有直接打包到镜像里面,因为之后还需要进行修改,而且容器内的东西关掉就没了,所以我是把代码拉取到本地(在启动镜像的时候挂载进去),因为我还要看代码的,修改也方便。

4.启动容器

启动服务端,它会一直监听在 50051 端口。现在文件夹 grpc 是挂载进容器的,所以如果希望修改它里面的文件,直接在本地修改保存就行了,然后在镜像里面重启服务端或者客户端就可以了。

注意:这里的 ${pwd} 这个语法是 Windows 的,如果是 Linux 应该使用 $(pwd) 才对。

使用 exec 进入容器,运行客户端

相关推荐
天佑木枫5 分钟前
第5天:循环 —— 让程序重复执行
python
聆风吟º5 分钟前
【Python编程日志】Python基础数据类型完整梳理
开发语言·python·数据类型
“码”力全开6 分钟前
基于 Docker 与边缘计算的 AI 视频管理平台:打破 GB28181/RTSP 协议壁垒与源码交付架构解析
人工智能·docker·边缘计算
盼小辉丶8 分钟前
OpenCV-Python实战(28)——OpenCV计算摄影从HDR图像融合到全景拼接
python·opencv·计算机视觉
江湖有缘9 分钟前
自建私有任务管理平台|Docker Compose部署Ticky完整教程
运维·docker·容器
ai产品老杨11 分钟前
破局多路异构计算:基于 Docker 容器化与 GB28181/RTSP 统一接入的 AI 边缘计算视频管理平台架构解析
人工智能·docker·边缘计算
梦想的颜色18 分钟前
Docker 知识全貌:一份体系化的知识结构报告
docker·云原生·容器·eureka
shchojj20 分钟前
ChatGPT Prompt Engineering for Developers - Expanding
开发语言·python·prompt
zhangfeng113322 分钟前
国家超算中心K8s 容器服务,新版容器和老版本的一些坑
云原生·容器·kubernetes
俊俊谢25 分钟前
【python】FastAPI 实时推送:从 SSE 到 WebSocket
python·websocket·fastapi