Minor fix & improvement for the Dockerfile (#14686)

* Dockerfile: Fix building with multiarch

Tested on amd64 and arm64

* Reduce docker image size by clean up some unneeded source file
master
Kairui Song | 宋恺睿 4 years ago committed by GitHub
parent 52157fdcba
commit 03b5f09ffc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 19
      Dockerfile

@ -36,7 +36,8 @@ RUN apt update && \
./autogen.sh && \ ./autogen.sh && \
./configure --prefix=/opt/jemalloc && \ ./configure --prefix=/opt/jemalloc && \
make -j$(nproc) > /dev/null && \ make -j$(nproc) > /dev/null && \
make install_bin install_include install_lib make install_bin install_include install_lib && \
cd .. && rm -rf jemalloc-$JE_VER $JE_VER.tar.gz
# Install Ruby # Install Ruby
ENV RUBY_VER="2.6.6" ENV RUBY_VER="2.6.6"
@ -56,7 +57,8 @@ RUN apt update && \
--disable-install-doc && \ --disable-install-doc && \
ln -s /opt/jemalloc/lib/* /usr/lib/ && \ ln -s /opt/jemalloc/lib/* /usr/lib/ && \
make -j$(nproc) > /dev/null && \ make -j$(nproc) > /dev/null && \
make install make install && \
cd .. && rm -rf ruby-$RUBY_VER.tar.gz ruby-$RUBY_VER
ENV PATH="${PATH}:/opt/ruby/bin:/opt/node/bin" ENV PATH="${PATH}:/opt/ruby/bin:/opt/node/bin"
@ -107,11 +109,14 @@ RUN apt -y --no-install-recommends install \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
# Add tini # Add tini
ENV TINI_VERSION="0.18.0" ENV TINI_VERSION="0.19.0"
ENV TINI_SUM="12d20136605531b09a2c2dac02ccee85e1b874eb322ef6baf7561cd93f93c855" RUN dpkgArch="$(dpkg --print-architecture)" && \
ADD https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini /tini ARCH=$dpkgArch && \
RUN echo "$TINI_SUM tini" | sha256sum -c - wget https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$ARCH \
RUN chmod +x /tini https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-$ARCH.sha256sum && \
cat tini-$ARCH.sha256sum | sha256sum -c - && \
mv tini-$ARCH /tini && rm tini-$ARCH.sha256sum && \
chmod +x /tini
# Copy over mastodon source, and dependencies from building, and set permissions # Copy over mastodon source, and dependencies from building, and set permissions
COPY --chown=mastodon:mastodon . /opt/mastodon COPY --chown=mastodon:mastodon . /opt/mastodon

Loading…
Cancel
Save