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.mzph.cn/news/579533.shtml

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

相关文章

WordPress主题大前端DUX v8.3源码下载

DUX主题8.3版本更新内容: 新增:Cloudflare Turnstile 免费验证功能 新增:子菜单页面模版,支持多级页面 新增:手机端文章内表格自动出现横向滚动条,可集体或单独设置滚动宽度 新增:标签云页面模版…

【MATLAB第86期】基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本

基于matlab的Catboost多输入单输出分类预测模型 catboost-1.1.1版本 运行环境 windows10 matlab2020a catboost版本:catboost-1.1.1 往期: 【MATLAB第20期】基于matlab的Catboost多输入单输出回归预测模型 catboost-1.1.1版本 一、导入数据 采用12输…

Spark与Hadoop的关系和区别

在大数据领域,Spark和Hadoop是两个备受欢迎的分布式数据处理框架,它们在处理大规模数据时都具有重要作用。本文将深入探讨Spark与Hadoop之间的关系和区别,以帮助大家的功能和用途。 Spark和Hadoop简介 1 Hadoop Hadoop是一个由Apache基金会…

Linux和Win 共享文件夹 搭建使用方法【超简单】+ 共享后无法出现文件夹的解决方式

win和Linux 共享文件夹 超简单的搭建使用方法 一、编辑虚拟机设置二、在Linux下访问共享文件夹三、共享后无法出现文件夹的解决方式 很多时候我们需要在Linux环境下使用一些安装包。 一般都是在win下进行下载,然后通过共享文件夹的方式,共享到虚拟机环境…

Xmake v2.8.6 发布,新的打包插件:XPack

Xmake 是一个基于 Lua 的轻量级跨平台构建工具。 它非常的轻量,没有任何依赖,因为它内置了 Lua 运行时。 它使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好&#x…

手机软件APP下载类网站Pbootcms模板 游戏软件应用网站源码 模板自适应手机端

手机软件APP下载类网站pbootcms模板 游戏软件应用网站源码 模板自适应手机端 pbootcms内核开发的网站模板,该模板适用于手机APP网站、游戏软件网站等企业, 当然其他行业也可以做,只需要把文字图片换成其他行业的即可; 自适应,同一个后台,数据即时同步,简单适用!附带…

超维空间S2无人机使用说明书——52、使用PID算法进行基于yolo的目标跟踪

引言:在实际工程项目中,为了提高系统的响应速度和稳定性,往往需要采用一定的控制算法进行目标跟踪。这里抛砖引玉,仅采用简单的PID算法进行目标的跟随控制,目标的识别依然采用yolo。对系统要求更高的,可以对…

基于Java在线商城系统设计实现(源码+部署文档+讲解视频)

博主介绍: ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌🍅 文末获取源码联系 🍅👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到 Java项目精品实…

使用YT Config Tools工具导出引脚配置清单至Excel文件

使用YT Config Tool工具导出引脚配置清单至Excel文件 文章目录 使用YT Config Tool工具导出引脚配置清单至Excel文件IntroductionOperations在YTC中导入hello_world样例工程在Pinout Configuration标签页中配置引脚保存源码工程导出Excel文件 Conclusion Introduction YT Conf…

GC6208国产5V摄像机镜头驱动IC ,可用于摄像机,机器人等产品中可替代AN41908

GC6208是一个镜头电机驱动IC摄像机和安全摄像机。该设备集成了一个直流电机驱动器的Iris的PID控制系统,也有两个通道的STM电机驱动器的变焦和对焦控制。 芯片的特点: 内置用于Iris控制器的直流电机驱动器 内置2个STM驱动程序,用于缩放和…

【WPF】使用Behavior以及ValidationRule实现表单校验

文章目录 使用ValidationRule实现检测用户输入EmptyValidationRule 非空校验TextBox设置非空校验TextBox设置非空校验并显示校验提示 结语 使用ValidationRule实现检测用户输入 EmptyValidationRule是TextBox内容是否为空校验,TextBox的Binding属性设置ValidationRu…

华锐视点为广汽集团打造VR汽车在线展厅,打破地域限制,尽享购车乐趣

随着科技的飞速发展,我们正在进入一个全新的时代——元宇宙时代。元宇宙是一个虚拟的世界,它不仅能够模拟现实世界,还能够创造出现实世界无法实现的事物。而汽车行业作为人类生活的重要组成部分,也在积极探索与元宇宙的融合&#…

[数据结构]树与二叉树的性质

文章目录 0.二叉树的形态和基本性质1.完全二叉树的叶子节点个数2.树的叶子节点个数3.线索二叉树4.树和森林和二叉树5.平衡二叉树的最少结点数6.树/二叉树/森林的转换 0.二叉树的形态和基本性质 一棵二叉树具有5中基本形态n个结点可以构造的二叉树种数: C2n-n/n1 一棵树 n个结点…

SpringBoot3 整合Kafka

官网:https://kafka.apache.org/documentation/ 消息队列-场景 1. 异步 2. 解耦 3. 削峰 4. 缓冲 消息队列-Kafka 1. 消息模式 消息发布订阅模式,MessageQueue中的消息不删除,会记录消费者的偏移量 2. Kafka工作原理 同一个消费者组里的消…

Volume Control 2

为游戏添加音乐和音效总是需要一些编码来设置一个系统来控制、显示和保存应用程序的音量设置。 音量控制的设计是为了立即为您设置这些内容,让您有更多时间专注于最重要的事情——制作出色的游戏! 在版本2中,我们对系统进行了重新设计,使其更加模块化、灵活,甚至更易于使用…

工具系列:TimeGPT_(1)获取token方式和初步使用

文章目录 介绍获取Token用法数据的重要要求使用DateTime索引推断频率。 介绍 Nixtla的TimeGPT是一种用于时间序列数据的生成式预训练预测模型。TimeGPT可以在没有训练的情况下,仅使用历史值作为输入,为新的时间序列生成准确的预测。TimeGPT可以用于各种…

ubuntu磁盘管理常用命令

写的不全,后面随时修改。 Linux 磁盘管理常用三个命令为 df、du 和 fdisk。 df(英文全称:disk free):列出文件系统的整体磁盘未使用量du(英文全称:disk used):检查磁盘空…

Bytebase:统一数据库 CI/CD 解决方案 | 开源日报 No.128

bytebase/bytebase Stars: 7.9k License: NOASSERTION Bytebase 是一个数据库 CI/CD 解决方案,为开发人员和 DBA 提供统一的工具来管理不同数据库系统的开发生命周期。其主要功能包括标准化操作流程、SQL 代码审查、GitOps 集成以及数据访问控制等。关键特性和核心…

QT 输入框输入限制 正则表达式限制 整理

在使用 输入数值时,经常遇到限制其范围的需要,比如角太阳高度角范围为[-90,90],经度值范围[-180,180],方位角范围[0,360]。Qt提供了QIntValidator和QDoubleValidator可以限定数值输入范围,如使用QIntValidator限制整数…

TypeScript学习笔记归纳(先做基础梳理,后期不断丰满,持续更新ing)

文章目录 前言 二、TypeScript的优势体现在哪里? 1、执行时间上的区别 2、基础数据类型区别 3、TS优势 三、TypeScript的关键特性 四、TypeScript的类型系统 1、什么是类型注释? 2、类型系统核心 - 常用类型 1) 基本类型&#xff0…