rqlite / rqlite-docker

rqlite docker images
MIT License
25 stars 11 forks source link

docker image size too big #11

Closed littleforce163 closed 2 years ago

littleforce163 commented 3 years ago

Thanks for your good work that everyone could pull or build image so easy. Great! While, the image is a bit bigger than I guess. Could you update with alpine image? It seems to be 33MB vs 161MB. If official update it may be a good choice. All rights to you.

below for reference:

FROM alpine
ENV RQLITE_VERSION=5.5.0

RUN   apk update && apk add curl && \
    curl -L https://github.com/rqlite/rqlite/releases/download/v${RQLITE_VERSION}/rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz -o rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz && \
    tar xvfz rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz && \
    cp rqlite-v${RQLITE_VERSION}-linux-amd64/rqlited /bin && \
    cp rqlite-v${RQLITE_VERSION}-linux-amd64/rqlite /bin && \
    rm -fr rqlite-v${RQLITE_VERSION}-linux-amd64 rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz && \
    rm -rf /var/cache/apk/* && \
    mkdir -p /rqlite/file

VOLUME /rqlite/file

EXPOSE 4001
ExPOSE 4002

CMD ["rqlited", "-http-addr", "0.0.0.0:4001", "-raft-addr", "0.0.0.0:4002", "/rqlite/file/data"]
littleforce163 commented 3 years ago

when I run the docker, some problems occur because rqlite release not support alpine. So, need to install glibc.

below for reference:

FROM alpine
ENV RQLITE_VERSION=5.5.0

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories && \
    apk update && apk add curl && apk add wget && \
    wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub && \
    wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.32-r0/glibc-2.32-r0.apk && \
    apk add glibc-2.32-r0.apk && \
    curl -L https://github.com/rqlite/rqlite/releases/download/v${RQLITE_VERSION}/rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz -o rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz && \
    tar xvfz rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz && \
    cp rqlite-v${RQLITE_VERSION}-linux-amd64/rqlited /bin && \
    cp rqlite-v${RQLITE_VERSION}-linux-amd64/rqlite /bin && \
    rm -fr rqlite-v${RQLITE_VERSION}-linux-amd64 rqlite-v${RQLITE_VERSION}-linux-amd64.tar.gz && \
    rm -rf glibc-2.32-r0.apk && \
    rm -rf /var/cache/apk/* && \
    mkdir -p /rqlite/file

VOLUME /rqlite/file

EXPOSE 4001
ExPOSE 4002

CMD ["rqlited", "-http-addr", "0.0.0.0:4001", "-raft-addr", "0.0.0.0:4002", "/rqlite/file/data"]
otoolep commented 2 years ago

https://www.philipotoole.com/rqlite-static-linking-and-smaller-docker-images/