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

news/2024/11/30 18:28:44/

适用场景

当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.ppmy.cn/news/1282713.html

相关文章

【React】echarts-for-react 的使用

文章目录 echarts-for-react :一个简单的 Apache echarts 的 React 封装配置项手册:https://echarts.apache.org/zh/option.html#title 安装依赖 $ npm install --save echarts-for-react# echarts 是 echarts-for-react的对等依赖,您可以使用自己的版本…

搭建自动化 Web 页面性能检测系统 —— 设计篇

​ 编辑 页面性能对于用户体验、用户留存有着重要影响,当页面加载时间过长时,往往会伴随着一部分用户的流失,也会带来一些用户差评。性能的优劣往往是同类产品中胜出的影响因素,也是一个网站口碑的重要评判标准。 一、名称解释 …

问题解决 | Ubuntu重启无法进入系统

Ubuntu18.04重启无法进入系统,重开后如图 一直在加载系统内核4.15.0-213-generic,无法加载 错误原因 原本的系统是Ubuntu16.04,使用命令升级到Ubuntu18.04版本,升级重启后,远程无法连接! 错误解决 第一步:进入GRUB…

java美容管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web美容管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.0&…

【zookeeper经典应用实战】

文章目录 Zookeeper主要方法 Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。可供选择的Java客户 端API有: ZooKeeper官方的Java客户端API。 第三方的Java客户端API,比如Curator。 ZooKeeper官方的客户端…

c++学习笔记(1)-符号重定义

1、引言 符号重定义(Symbol Redefinition)指的是在同一个作用域内多次定义同名标识符(包括变量、函数、类等)。符号重定义错误通常包括预处理期符号重定义,编译期符号重定义,链接期符号重定义,…

第十四章 集合(List)

一、集合框架体系 集合: (1)可以动态保存任意多个对象。 (2)提供了一系列方便的操作对象的方法:add、remove、set、get等。 二、Collection 1. Collection 接口常用方法 (1)add&a…

【已解决】c++ 如何给qt的lineEdit传入中文且不乱码

本博文源于笔者正在写的一个模块,需要给qt的linEdit传入中文,并且不会乱码,原本想着在初始化,也就是构造函数里写入ui.lineEdit->setText(“你好”);结果发现,显示出来是乱码,那怎么办啊。下面就以一个小…