diff --git a/README.md b/README.md index 7fe05a9b..dd9a8936 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ Minimal Node.js Docker Images ----------------------------- -Versions v13.8.0, v12.16.1, v10.19.0, v8.17.0, v6.17.1, v4.9.1, v0.12.18 and v0.10.48 – +Versions v13.9.0, v12.16.1, v10.19.0, v8.17.0, v6.17.1, v4.9.1, v0.12.18 and v0.10.48 – built on [Alpine Linux](https://alpinelinux.org/). All versions use the one [mhart/alpine-node](https://hub.docker.com/r/mhart/alpine-node/) repository, @@ -9,7 +9,7 @@ but each version aligns with the following tags (ie, `mhart/alpine-node:`). *unpacked* images as reported by Docker – compressed sizes are about 1/3 of these: - Full install built with npm and yarn: - - `latest`, `13`, `13.8`, `13.8.0` – 107 MB (npm 6.13.7, yarn 1.22.0) + - `latest`, `13`, `13.9`, `13.9.0` – 106 MB (npm 6.13.7, yarn 1.22.0) - `12`, `12.16`, `12.16.1` – 80.1 MB (npm 6.13.7, yarn 1.22.0) - `10`, `10.19`, `10.19.0` – 74.9 MB (npm 6.13.7, yarn 1.22.0) - `8`, `8.17`, `8.17.0` – 68.1 MB (npm 6.13.7, yarn 1.22.0) @@ -19,7 +19,7 @@ but each version aligns with the following tags (ie, `mhart/alpine-node:`). - `0.12`, `0.12.18` – 32.4 MB (npm 2.15.12) - `0.10`, `0.10.48` – 27.8 MB (npm 2.15.12) - Slim install with no npm or yarn: - - `slim`, `slim-13`, `slim-13.8`, `slim-13.8.0` – 71 MB + - `slim`, `slim-13`, `slim-13.9`, `slim-13.9.0` – 71.2 MB - `slim-12`, `slim-12.16`, `slim-12.16.1` – 45.8 MB - `slim-10`, `slim-10.19`, `slim-10.19.0` – 41.9 MB - `slim-8`, `slim-8.17`, `slim-8.17.0` – 37.2 MB diff --git a/build-slim.sh b/build-slim.sh index 98a46b16..24db09df 100755 --- a/build-slim.sh +++ b/build-slim.sh @@ -1,7 +1,8 @@ #/bin/sh docker build --squash \ - -t mhart/alpine-node:slim-12.16.1 \ - -t mhart/alpine-node:slim-12.16 \ - -t mhart/alpine-node:slim-12 \ + -t mhart/alpine-node:slim-13.9.0 \ + -t mhart/alpine-node:slim-13.9 \ + -t mhart/alpine-node:slim-13 \ + -t mhart/alpine-node:slim \ -f slim.dockerfile . diff --git a/build-tools.sh b/build-tools.sh index c0e39818..5b53c000 100755 --- a/build-tools.sh +++ b/build-tools.sh @@ -1,7 +1,8 @@ #/bin/sh docker build --squash \ - -t mhart/alpine-node:12.16.1 \ - -t mhart/alpine-node:12.16 \ - -t mhart/alpine-node:12 \ + -t mhart/alpine-node:13.9.0 \ + -t mhart/alpine-node:13.9 \ + -t mhart/alpine-node:13 \ + -t mhart/alpine-node:latest \ -f tools.dockerfile . diff --git a/build.dockerfile b/build.dockerfile index 477dfc72..d0a5858b 100644 --- a/build.dockerfile +++ b/build.dockerfile @@ -1,12 +1,12 @@ # FROM alpine:3.6 # FROM alpine:3.7 -FROM alpine:3.9 -# FROM alpine:3.10 +# FROM alpine:3.9 +FROM alpine:3.10 # ENV VERSION=v8.17.0 NPM_VERSION=6 YARN_VERSION=latest # ENV VERSION=v10.19.0 NPM_VERSION=6 YARN_VERSION=latest -ENV VERSION=v12.16.1 NPM_VERSION=6 YARN_VERSION=latest -# ENV VERSION=v13.8.0 NPM_VERSION=6 YARN_VERSION=latest +# ENV VERSION=v12.16.1 NPM_VERSION=6 YARN_VERSION=latest +ENV VERSION=v13.9.0 NPM_VERSION=6 YARN_VERSION=latest # For base builds # ENV CONFIG_FLAGS="--fully-static --without-npm" DEL_PKGS="libstdc++" RM_DIRS=/usr/include @@ -29,10 +29,14 @@ RUN for server in ipv4.pool.sks-keyservers.net keyserver.pgp.com ha.pool.sks-key A48C2BEE680E841632CD4E44F07496B3EB3C1762 && break; \ done -RUN curl -sfSLO https://nodejs.org/dist/${VERSION}/node-${VERSION}.tar.xz && \ - curl -sfSL https://nodejs.org/dist/${VERSION}/SHASUMS256.txt.asc | gpg -d -o SHASUMS256.txt && \ - grep " node-${VERSION}.tar.xz\$" SHASUMS256.txt | sha256sum -c | grep ': OK$' && \ - tar -xf node-${VERSION}.tar.xz && \ +# RUN curl -sfSLO https://nodejs.org/dist/${VERSION}/node-${VERSION}.tar.xz && \ + # curl -sfSL https://nodejs.org/dist/${VERSION}/SHASUMS256.txt.asc | gpg -d -o SHASUMS256.txt && \ + # grep " node-${VERSION}.tar.xz\$" SHASUMS256.txt | sha256sum -c | grep ': OK$' && \ + # tar -xf node-${VERSION}.tar.xz && \ + +# XXX: The above does not work for v13.9.0 due to https://github.com/nodejs/node/issues/31858 +# Revert this for the next release +RUN git clone --depth 1 https://github.com/nodejs/node -b v13.9.0 node-${VERSION} && \ cd node-${VERSION} && \ ./configure --prefix=/usr ${CONFIG_FLAGS} && \ make -j$(getconf _NPROCESSORS_ONLN) && \ diff --git a/build.sh b/build.sh index b73e11ac..6f4c34a4 100755 --- a/build.sh +++ b/build.sh @@ -1,8 +1,9 @@ #/bin/sh docker build --pull --squash \ - -t mhart/alpine-node:12.16.1 \ - -t mhart/alpine-node:12.16 \ - -t mhart/alpine-node:12 \ - -f extract.dockerfile \ + -t mhart/alpine-node:13.9.0 \ + -t mhart/alpine-node:13.9 \ + -t mhart/alpine-node:13 \ + -t mhart/alpine-node:latest \ + -f build.dockerfile \ . diff --git a/extract.dockerfile b/extract.dockerfile index 68ed52f8..38127789 100644 --- a/extract.dockerfile +++ b/extract.dockerfile @@ -1,8 +1,8 @@ -FROM alpine:3.9 -# FROM alpine:3.10 +# FROM alpine:3.9 +FROM alpine:3.10 -ENV VERSION=v12.16.1 NPM_VERSION=6 YARN_VERSION=latest -# ENV VERSION=v13.8.0 NPM_VERSION=6 YARN_VERSION=latest +# ENV VERSION=v12.16.1 NPM_VERSION=6 YARN_VERSION=latest +ENV VERSION=v13.9.0 NPM_VERSION=6 YARN_VERSION=latest RUN apk upgrade --no-cache -U && \ apk add --no-cache curl gnupg libstdc++ diff --git a/publish.sh b/publish.sh index 105af2b9..ae2bb309 100755 --- a/publish.sh +++ b/publish.sh @@ -1,6 +1,6 @@ #/bin/sh -for tag in 12.16.1 12.16 12 slim-12.16.1 slim-12.16 slim-12; do +for tag in 13.9.0 13.9 13 slim-13.9.0 slim-13.9 slim-13 latest slim; do git tag -f $tag git push -f origin $tag docker push mhart/alpine-node:$tag diff --git a/slim.dockerfile b/slim.dockerfile index 89b50c88..a646b6c3 100644 --- a/slim.dockerfile +++ b/slim.dockerfile @@ -4,11 +4,11 @@ # FROM mhart/alpine-node:10 # FROM alpine:3.7 -FROM mhart/alpine-node:12 -FROM alpine:3.9 +# FROM mhart/alpine-node:12 +# FROM alpine:3.9 -# FROM mhart/alpine-node:13 -# FROM alpine:3.10 +FROM mhart/alpine-node:13 +FROM alpine:3.10 COPY --from=0 /usr/bin/node /usr/bin/ diff --git a/tools.dockerfile b/tools.dockerfile index 6cab4cdc..236909be 100644 --- a/tools.dockerfile +++ b/tools.dockerfile @@ -4,11 +4,11 @@ # FROM mhart/alpine-node:10 # FROM alpine:3.7 -FROM mhart/alpine-node:12 -FROM alpine:3.9 +# FROM mhart/alpine-node:12 +# FROM alpine:3.9 -# FROM mhart/alpine-node:13 -# FROM alpine:3.10 +FROM mhart/alpine-node:13 +FROM alpine:3.10 COPY --from=0 /usr/bin/node /usr/bin/ COPY --from=0 /usr/lib/node_modules /usr/lib/node_modules