diff options
author | itchyny <itchyny@cybozu.co.jp> | 2023-07-04 16:00:04 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-04 16:00:04 +0900 |
commit | 2270e208d2ca5c884c877f92f67cc281f24906cb (patch) | |
tree | 28bdba5871e6e8c3ebeaab0f92ed6d9e1a6c51db /Dockerfile | |
parent | 12ce4e3b544e15828d119a84bc61e1689d9d4b44 (diff) |
Improve Dockerfile: update base image and optimize image size (#2649)
Also, drop ineffectual flags from configure.
Diffstat (limited to 'Dockerfile')
-rw-r--r-- | Dockerfile | 72 |
1 files changed, 27 insertions, 45 deletions
@@ -1,54 +1,36 @@ -FROM debian:9 +FROM debian:12-slim AS builder ENV DEBIAN_FRONTEND=noninteractive \ DEBCONF_NONINTERACTIVE_SEEN=true \ LC_ALL=C.UTF-8 \ LANG=C.UTF-8 -COPY . /app +RUN apt-get update \ + && apt-get install -y \ + build-essential \ + autoconf \ + libtool \ + git \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* -# get dependencies, build, and remove anything we don't need for running jq. -# valgrind seems to have trouble with pthreads TLS so it's off. +WORKDIR /app +COPY . /app +RUN autoreconf -i \ + && ./configure \ + --disable-docs \ + --disable-maintainer-mode \ + --disable-valgrind \ + --with-oniguruma=builtin \ + --enable-static \ + --enable-all-static \ + --prefix=/usr/local \ + && make -j$(nproc) \ + && make check \ + && make install-strip -RUN apt-get update && \ - apt-get install -y \ - build-essential \ - autoconf \ - libtool \ - git \ - bison \ - flex \ - python3 \ - python3-pip \ - wget && \ - pip3 install pipenv && \ - (cd /app/docs && pipenv sync) && \ - (cd /app && \ - git submodule init && \ - git submodule update && \ - autoreconf -i && \ - ./configure --disable-valgrind --enable-all-static --prefix=/usr/local && \ - make -j8 && \ - make check && \ - make install ) && \ - (cd /app/modules/oniguruma && \ - make uninstall ) && \ - (cd /app && \ - make distclean ) && \ - apt-get purge -y \ - build-essential \ - autoconf \ - libtool \ - bison \ - git \ - flex \ - python3 \ - python3-pip && \ - apt-get autoremove -y && \ - rm -rf /app/modules/oniguruma/* && \ - rm -rf /app/modules/oniguruma/.git && \ - rm -rf /app/modules/oniguruma/.gitignore && \ - rm -rf /var/lib/apt/lists/* /var/lib/gems +FROM scratch -ENTRYPOINT ["/usr/local/bin/jq"] -CMD [] +COPY --from=builder /app/AUTHORS /app/COPYING /usr/local/bin/jq / +RUN ["/jq", "--version"] +ENTRYPOINT ["/jq"] |