# syntax=docker/dockerfile:1
ARG GCC_VERSION=11.2.0
ARG CMAKE_VERSION=3.22.0
FROM iomz/cmake:$CMAKE_VERSION AS cmake
# this stage builds grpc
FROM gcc:$GCC_VERSION AS grpc
ARG GRPC_VERSION=1.43.0
# copy cmake from the cmake image
COPY --from=cmake /usr/bin/cmake /usr/bin/cmake
RUN chmod u+x /usr/bin/cmake/bin/cmake
ENV PATH="/usr/bin/cmake/bin:$PATH"
RUN apt-get update && apt-get install -y \
autoconf \
build-essential \
libssl-dev \
libtool \
pkg-config \
&& rm -rf /var/lib/apt/lists/*
ENV MY_INSTALL_DIR=/app/grpc
ENV PATH="$MY_INSTALL_DIR/bin:$PATH"
RUN mkdir -p $MY_INSTALL_DIR
WORKDIR /tmp
RUN git clone --recurse-submodules -b v${GRPC_VERSION} https://github.com/grpc/grpc \
&& cd grpc \
&& mkdir -p cmake/build \
&& cd cmake/build \
&& cmake \
-DgRPC_INSTALL=ON \
-DgRPC_BUILD_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=$MY_INSTALL_DIR \
../.. \
&& make \
&& make install
ENTRYPOINT ["/app/grpc/bin/protoc"]
CMD ["--version"]
Content type
Image
Digest
Size
1.7 GB
Last updated
over 4 years ago
docker pull iomz/grpc-protoc:1.43.0