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

简介: 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


目录
相关文章
|
29天前
|
Ubuntu Linux 编译器
在Ubuntu Linux系统下如何搭建并安装EDK2
以上就是在Ubuntu Linux系统下搭建并安装EDK2的过程。这个过程可能会有些复杂,但只要按照步骤一步步来,应该不会有太大问题。如果在过程中遇到任何问题,都可以在网上找到相应的解决方案。希望这个指南能对你有所帮助!
91 17
|
19天前
|
Ubuntu 关系型数据库 Linux
Linux数据库安装
本文介绍了在CentOS 8.0和Ubuntu 22.04系统上安装、配置和启动MariaDB数据库服务器的详细步骤。包括通过`yum`和`apt`包管理器安装MariaDB服务,启动并检查服务运行状态,设置root用户密码以及连接数据库的基本操作。此外,还展示了如何在Ubuntu上更新软件包列表、安装依赖项,并验证MariaDB的版本和运行状态。通过这些步骤,用户可以成功部署并初始化MariaDB环境,为后续数据库管理与应用开发奠定基础。
36 4
|
24天前
|
Oracle 关系型数据库 MySQL
Oracle linux 8 二进制安装 MySQL 8.4企业版
Oracle linux 8 二进制安装 MySQL 8.4企业版
55 1
|
1月前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
70 10
|
1月前
|
安全 Java Linux
Linux安装Elasticsearch详细教程
Linux安装Elasticsearch详细教程
78 1
|
1月前
|
Ubuntu Linux PHP
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
89 6
|
2月前
|
Java Linux 应用服务中间件
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
197 21
|
1月前
|
SQL Linux 数据库
YashanDB Linux客户端安装
本文详细介绍了YashanDB客户端在Linux系统中的安装、使用与卸载步骤。安装方法包括适用于所有Linux平台的脚本安装和专用于CentOS的rpm安装。脚本安装需解压软件包并配置环境变量,而rpm安装则需以root用户执行相关命令。此外,文章还说明了如何通过yasql连接YashanDB并进行数据库操作,以及两种安装方式对应的卸载方法,帮助用户顺利完成客户端的管理与维护。
|
2月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
2月前
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
116 0