mirror of https://github.com/vitalif/grive2
Merge pull request #325 from agusalex/master
Optimized (using Alpine) Docker image size (compressed) 214MB -> 62MBpull/344/head
commit
b112fccd37
56
Dockerfile
56
Dockerfile
|
@ -1,32 +1,28 @@
|
||||||
FROM ubuntu:16.04
|
FROM alpine:3.7 as build
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apk add git make cmake g++ libgcrypt-dev yajl-dev yajl \
|
||||||
apt-get install --yes --no-install-recommends g++ cmake build-essential \
|
boost-dev curl-dev expat-dev cppunit-dev binutils-dev \
|
||||||
libgcrypt11-dev libyajl-dev libboost-all-dev \
|
pkgconfig \
|
||||||
libcurl4-openssl-dev libexpat1-dev libcppunit-dev \
|
&& git clone https://github.com/vitalif/grive2.git \
|
||||||
binutils-dev pkg-config zlib1g-dev && \
|
&& mkdir grive2/build \
|
||||||
rm -rf /var/cache/apt/archives /var/lib/apt/lists/*
|
&& cd grive2/build \
|
||||||
|
&& cmake .. \
|
||||||
|
&& make -j4 \
|
||||||
|
&& make install \
|
||||||
|
&& cd ../.. \
|
||||||
|
&& rm -rf grive2 \
|
||||||
|
&& mkdir /drive
|
||||||
|
|
||||||
ADD https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 /usr/local/bin/dumb-init
|
FROM alpine:3.7
|
||||||
|
COPY --from=build /usr/local/bin/grive /bin/grive
|
||||||
RUN chmod +x /usr/local/bin/dumb-init
|
COPY ./entrypoint.sh /root/entrypoint.sh
|
||||||
|
ADD https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 /bin/dumb-init
|
||||||
ADD . /grive2
|
RUN chmod 777 /root/entrypoint.sh /bin/dumb-init /bin/grive \
|
||||||
|
&& mkdir /drive \
|
||||||
RUN cd /grive2 && \
|
&& apk add yajl-dev curl-dev libgcrypt \
|
||||||
mkdir build && \
|
boost-program_options boost-regex libstdc++ boost-system boost-dev binutils-dev \
|
||||||
cd build && \
|
&& apk add boost-filesystem --repository=http://dl-cdn.alpinelinux.org/alpine/edge/main
|
||||||
cmake .. && \
|
VOLUME /drive
|
||||||
make -j4 && \
|
WORKDIR /drive
|
||||||
mv /grive2/build/grive/grive /usr/local/bin/grive && \
|
ENTRYPOINT ["dumb-init", "--"]
|
||||||
rm -rf /grive2
|
CMD ["/root/entrypoint.sh"]
|
||||||
|
|
||||||
VOLUME /data
|
|
||||||
|
|
||||||
WORKDIR /data
|
|
||||||
|
|
||||||
ENTRYPOINT ["dumb-init", "/usr/local/bin/grive"]
|
|
||||||
|
|
||||||
|
|
||||||
# docker build -t grive2 .
|
|
||||||
# docker run --name grive2 --rm -it -v $PWD:/data grive2:latest
|
|
||||||
|
|
Loading…
Reference in New Issue