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


目录
相关文章
|
12天前
|
Ubuntu Linux
在Linux (Ubuntu 16) 下安装LabVIEW
在Linux (Ubuntu 16) 下安装LabVIEW
29 0
|
11天前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
5天前
|
Web App开发 安全 Linux
Linux系统之安装Firefox浏览器
【7月更文挑战第8天】Linux系统之安装Firefox浏览器
27 8
|
8天前
|
存储 Ubuntu Java
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
【Linux】已解决:Ubuntu虚拟机安装Java/JDK
13 1
|
1天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像12
【7月更文挑战第12天】安装【银河麒麟V10】linux系统--并挂载镜像
7 0
|
5天前
|
Ubuntu 安全 Linux
Linux系统之安装Ninvaders太空入侵者小游戏
【7月更文挑战第9天】Linux系统之安装Ninvaders太空入侵者小游戏
11 0
|
11天前
|
关系型数据库 MySQL Linux
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
Linux部署实战前言,MySQL在CentOS安装【单机软件】,MySQL的安装需要root权限,yum install mysql,systemctl enable mysqld开机自启的意思
|
11天前
|
Ubuntu Linux
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
Linux软件安装-Linux系统靠yum命令安装软件,yum命令是一个RPM包软件管理器,用于自动化安装配置Linux软件,.rpm是Linux包下的软件,yum install下载 wget re
|
12天前
|
负载均衡 Java Linux
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
黑马头条01,环境搭建,今日头条的介绍,今日头条的功能架构图,技术栈的说明,服务层,nacos(奶靠丝)安装,安装在Linux服务器上环境准备,
|
13天前
|
监控 关系型数据库 应用服务中间件
Linux zabbix监控 软件的安装
Linux zabbix监控 软件的安装