基于 Docker 的 python grpc quickstart

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

1.编写 Dockerfile 文件

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 进入容器,运行客户端

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python gRPC的部署通常包括以下步骤: 1. 编写gRPC服务器代码,例如使用Pythongrpcio库实现。 2. 构建gRPC服务器,例如使用Docker容器构建。 3. 部署gRPC服务器,例如将Docker容器部署到Kubernetes集群中。 下面是每个步骤的详细说明: 1. 编写gRPC服务器代码 编写gRPC服务器代码可以使用Pythongrpcio库,具体步骤如下: - 安装grpcio库:可以使用pip install grpcio命令安装。 - 定义服务接口:在.proto文件中定义服务接口,使用protobuf语言。 - 实现服务接口:在Python中实现.proto文件中定义的服务接口,通常包括实现rpc方法和启动gRPC服务器。 2. 构建gRPC服务器 构建gRPC服务器通常使用Docker容器构建,具体步骤如下: - 编写Dockerfile:在项目根目录中创建Dockerfile文件,定义Docker镜像的构建规则,例如使用Python镜像作为基础镜像。 - 构建Docker镜像:使用docker build命令构建Docker镜像,例如docker build -t my-grpc-server . 3. 部署gRPC服务器 部署gRPC服务器通常使用Kubernetes集群部署,具体步骤如下: - 安装Kubernetes:可以使用Kubernetes官方提供的kubectl工具安装Kubernetes。 - 配置Kubernetes:在Kubernetes中定义gRPC服务器的部署配置,例如使用Deployment和Service资源。 - 部署gRPC服务器:使用kubectl apply命令部署gRPC服务器,例如kubectl apply -f deployment.yaml。 以上就是Python gRPC的部署步骤,需要根据具体情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值