Linux - 记录问题:怎么通过安装包的方式安装gRPC

适用场景

当docker 构建环境不能链接到github 的时候,就可以使用本地构建的方式 完成对应服务的构建需求。

参考案例

使用本地安装包的方式安装 gRPC

注意:
在Docker构建过程中,某些软件包可能会尝试配置时区,这通常需要交互式输入。由于Docker构建过程是非交互式的,所以需要预先配置这些设置,以避免出现提示。

为了解决这个问题,你可以在Dockerfile中设置环境变量DEBIAN_FRONTENDnoninteractive,这样可以禁用交互式前端,避免在构建过程中出现提示。同时,你可以使用tzdata软件包的配置文件来预先设置时区。
在下面的Dockerfile中,我添加了两行来处理时区设置:

  1. ENV DEBIAN_FRONTEND=noninteractive:这会设置环境变量,使得apt-get在安装软件包时不会尝试使用交互式前端。
  2. RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure --frontend noninteractive tzdata:这会设置默认的时区为Asia/Shanghai,并重新配置tzdata
root@ubuntu:/mnt/mydisk/work/zmqDemo# cat Dockerfile
FROM arm64v8/ubuntu:20.04# 设置非交互式前端以避免用户交互提示
ENV DEBIAN_FRONTEND=noninteractive# 安装编译工具
RUN apt-get update && apt-get install -y \build-essential \autoconf \libtool \pkg-config \clang \cmake \git \golang \curl# 设置时区
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \dpkg-reconfigure --frontend noninteractive tzdata# 复制gRPC源代码压缩包到容器内
COPY grpc-v1.45.2.tar.bz2 /tmp/# 解压gRPC源代码压缩包
RUN tar -xjvf /tmp/grpc-v1.45.2.tar.bz2 -C /tmp/# 编译安装gRPC
WORKDIR /tmp/grpc-v1.45.2# 初始化子模块
#RUN git submodule update --init# 编译安装gRPC
RUN mkdir -p cmake/build
WORKDIR /tmp/grpc-v1.45.2/cmake/build
RUN cmake ../..
RUN make
RUN make install# 清理工作
RUN rm -rf /tmp/grpc-v1.45.2
#RUN rm /tmp/grpc-v1.45.2.tar.gz# 后续指令...

结果如下:


分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/309372.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

攻防技术1-网络攻击(HCIP)

目录 一、网络攻击方式分类 1、被动攻击: 2、主动攻击: 3、中间人攻击: 二、网络攻击报文类型分类: 1、流量型攻击 2、单包攻击 三、流量型攻击防范技术 1、DNS Request Flood攻击 攻击原理 DNS交互过程 2、TCP类报文…

X210 Linux开发板挂载NFS文件系统

网络搭建 采用“路由器”“有线网”来将Linux开发板和Ubuntu虚拟机连接在同一个局域网中。具体接线如下: Linux开发板通过网线直接连接到“路由器”的LAN接口上,然后笔记本电脑通过Wifi与路由器连接。 VirtualBox虚拟机网络设置 在”网线“设置界面中…

2023.12.30 Pandas操作

目录 1. pandas基础 1.1 pandas的基本介绍 1.2 pandas基础使用 2. pandas的数据结构 2.1 series对象 2.2 使用列表,自定义索引,字典,元组方式创建series对象 2.3 Series对象常用API 2.4 Series 对象的运算 1. pandas基础 1.1 pandas的基本介绍 Python在数据处理上独步天下…

uniapp微信小程序接入友盟

一、登录友盟官网,按照引导注册友盟账号 二、在友盟平台新建小程序应用(建好之后会得到appkey) 进入小程序统计后台创建Appkey,按要求填写小程序名称及类型: 三、在微信小程序中接入SDK ---- 以下是npm 配置 1. 安装…

技术探秘:在RISC Zero中验证FHE——RISC Zero应用的DevOps(2)

1. 引言 前序博客: 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1) 技术探秘:在RISC Zero中验证FHE——由隐藏到证明:FHE验证的ZK路径(1) 中&…

提供电商API-100+接口,等你来试用(免费测试)

什么是 API 调用? 应用程序编程接口 (API)是一个程序与另一个程序交互的一种方式。API 调用是它们交互的媒介。API 调用(或 API 请求)是发送到服务器的消息,要求 API 提供服务或信息。 如果 Jan 招待很多客人共进晚餐&#xff0…

推荐系统/电商中的 业务指标GMV

GMV(Gross Merchandise Volume)是指在一定时间内,一个电商平台上所有商品的总销售价值,通常以货币单位(例如美元、人民币等)表示。GMV是一个关键的电商业务指标,用于衡量平台的交易规模和业务增…

GPT-5、开源、更强的ChatGPT!OpenAI公布2024年计划

年终岁尾,正值圣诞节热闹气氛的OpenAI写下了2024年的发展清单。 OpenAI联合创始人兼首席执行官Sam Altman在社交平台公布,AGI(稍晚一些)、GPT-5、更好的语音模型、更高的费率限制; 更好的GPTs;更好的推理…

华为发布的工业软件三大难题:面向CAE分析的高质量曲面贴体网格的生成问题

以下内容转载: 网格生成,是把一个特定的研究区域分割成由许多很小的子区域(元素),以满足一些特定的要求。在理想的情况下,网格中的每个元素的形状和分布可以通过一种自动的网格生成算法来确定。 结构网格生成的代数网格生成法和…

【教程】Typecho Joe主题开启并修复壁纸相册不显示问题

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 背景说明 Joe主题本身支持“壁纸”功能,其实就是相册。当时还在网上找了好久相册部署的开源项目,太傻了。 但是网上教程很少,一没说如何开启壁纸功能,二没说开启后为…

【c++】使用vector存放键值对时,明明给vector的不同键赋了不同的值,但为什么前面键的值会被后面键的值给覆盖掉?

错误描述 运行程序得到结果如下图所示(左边是原始数据,xxml文件中真实数据的样子,右图是程序运行得到的结果结果): 对比以上两图可以发现,右图中两个实例的三个属性值都来自左图中的第二个User实例&#x…

MFC - 类封装 - 取工程内部的程序版本信息

文章目录 MFC - 类封装 - 取工程内部的程序版本信息概述class用法class实现 - CInternalVersionInfo.hclass实现 - CInternalVersionInfo.cpp设置程序标题END MFC - 类封装 - 取工程内部的程序版本信息 概述 在整理程序内部显示版本信息相关的实现. 程序在开发中的时候, 随便…