我使用以下Dockerfile在构建镜像上安装grpc,构建cpp微服务,并将其放入运行时容器中。
https://github.com/npclaudiu/grpc-cpp-docker/blob/master/Dockerfile
但是构建grpc/protobuf的部分需要2hours+,这是针对一个服务的。
RUN echo "-- installing protobuf" && \
cd /var/local/git/grpc/third_party/protobuf && \
./autogen.sh && ./configure --enable-shared && \
make -j$(nproc) && make -j$(nproc) check && make install && ldconfig
我看到所有的语言实现都是编译的,而我只需要C++。
有什么方法可以加速这个过程吗?是否有预装了grpc和c++或所有语言的协议缓冲区的debian或更好的高山linux镜像?
发布于 2020-09-11 22:47:29
您可以创建一个中间镜像。将Dockefile拆分为以下几行之后的两部分:
RUN echo "-- installing grpc" && \
cd /var/local/git/grpc && \
make -j$(nproc) && make install && make clean && ldconfig
一次性构建第一个Dockerfile (您只需等待2小时一次),在本地标记镜像,并将此镜像用作第二个Dockerfile的基础镜像。
https://stackoverflow.com/questions/63845775
复制相似问题