-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add openjdk 11 based clojure images #5117
Add openjdk 11 based clojure images #5117
Conversation
I'm not sure why the Travis build failed. |
library/clojure
Outdated
@@ -3,32 +3,34 @@ Maintainers: Paul Lam <[email protected]> (@Quantisan), | |||
Kirill Chernyshov <[email protected]> (@DeLaGuardo) | |||
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, ppc64le, s390x | |||
GitRepo: https://github.com/Quantisan/docker-clojure.git | |||
GitCommit: 50e4f6aa534a88effa18239180ac390c91587289 | |||
GitCommit: c450f6707b986cb7a59318bfdd1c18ae2292062e |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm browsing the files at https://github.com/Quantisan/docker-clojure/tree/c450f6707b986cb7a59318bfdd1c18ae2292062e, and it appears the directories referenced below don't exist at that commit? Should this be referencing a different commit?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, sure. That makes sense. Those are generated by the build. I just forgot that they need to be committed to the repo after that.
Diff:diff --git a/_bashbrew-arches b/_bashbrew-arches
index 83fca96..9cde977 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1,5 +1,4 @@
clojure:alpine @ amd64
-clojure:alpine-onbuild @ amd64
clojure:boot @ amd64
clojure:boot @ arm32v5
clojure:boot @ arm32v7
@@ -15,13 +14,27 @@ clojure:latest @ arm64v8
clojure:latest @ i386
clojure:latest @ ppc64le
clojure:latest @ s390x
-clojure:onbuild @ amd64
-clojure:onbuild @ arm32v5
-clojure:onbuild @ arm32v7
-clojure:onbuild @ arm64v8
-clojure:onbuild @ i386
-clojure:onbuild @ ppc64le
-clojure:onbuild @ s390x
+clojure:openjdk-11-boot-2.8.1 @ amd64
+clojure:openjdk-11-boot-2.8.1 @ arm32v5
+clojure:openjdk-11-boot-2.8.1 @ arm32v7
+clojure:openjdk-11-boot-2.8.1 @ arm64v8
+clojure:openjdk-11-boot-2.8.1 @ i386
+clojure:openjdk-11-boot-2.8.1 @ ppc64le
+clojure:openjdk-11-boot-2.8.1 @ s390x
+clojure:openjdk-11-lein-2.8.1 @ amd64
+clojure:openjdk-11-lein-2.8.1 @ arm32v5
+clojure:openjdk-11-lein-2.8.1 @ arm32v7
+clojure:openjdk-11-lein-2.8.1 @ arm64v8
+clojure:openjdk-11-lein-2.8.1 @ i386
+clojure:openjdk-11-lein-2.8.1 @ ppc64le
+clojure:openjdk-11-lein-2.8.1 @ s390x
+clojure:openjdk-11-tools-deps-1.9.0.397 @ amd64
+clojure:openjdk-11-tools-deps-1.9.0.397 @ arm32v5
+clojure:openjdk-11-tools-deps-1.9.0.397 @ arm32v7
+clojure:openjdk-11-tools-deps-1.9.0.397 @ arm64v8
+clojure:openjdk-11-tools-deps-1.9.0.397 @ i386
+clojure:openjdk-11-tools-deps-1.9.0.397 @ ppc64le
+clojure:openjdk-11-tools-deps-1.9.0.397 @ s390x
clojure:tools-deps @ amd64
clojure:tools-deps @ arm32v5
clojure:tools-deps @ arm32v7
diff --git a/_bashbrew-list b/_bashbrew-list
index cd41d71..16a53ce 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,5 +1,4 @@
clojure:alpine
-clojure:alpine-onbuild
clojure:boot
clojure:boot-2.8.1
clojure:boot-2.8.1-alpine
@@ -8,12 +7,25 @@ clojure:latest
clojure:lein
clojure:lein-2.8.1
clojure:lein-2.8.1-alpine
-clojure:lein-2.8.1-alpine-onbuild
-clojure:lein-2.8.1-onbuild
clojure:lein-alpine
-clojure:lein-alpine-onbuild
-clojure:lein-onbuild
-clojure:onbuild
+clojure:openjdk-8-boot
+clojure:openjdk-8-boot-2.8.1
+clojure:openjdk-8-boot-2.8.1-alpine
+clojure:openjdk-8-boot-alpine
+clojure:openjdk-8-lein
+clojure:openjdk-8-lein-2.8.1
+clojure:openjdk-8-lein-2.8.1-alpine
+clojure:openjdk-8-lein-alpine
+clojure:openjdk-8-tools-deps
+clojure:openjdk-8-tools-deps-1.9.0.397
+clojure:openjdk-8-tools-deps-1.9.0.397-alpine
+clojure:openjdk-8-tools-deps-alpine
+clojure:openjdk-11-boot
+clojure:openjdk-11-boot-2.8.1
+clojure:openjdk-11-lein
+clojure:openjdk-11-lein-2.8.1
+clojure:openjdk-11-tools-deps
+clojure:openjdk-11-tools-deps-1.9.0.397
clojure:tools-deps
clojure:tools-deps-1.9.0.397
clojure:tools-deps-1.9.0.397-alpine
diff --git a/clojure_alpine-onbuild/Dockerfile b/clojure_alpine-onbuild/Dockerfile
deleted file mode 100644
index 2942ddd..0000000
diff --git a/clojure_alpine/Dockerfile b/clojure_alpine/Dockerfile
index 0c4fda4..8423b66 100644
--- a/clojure_alpine/Dockerfile
+++ b/clojure_alpine/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8-alpine
LABEL maintainer="Wes Morgan <[email protected]>"
@@ -36,3 +30,5 @@ ENV LEIN_ROOT 1
# Install clojure 1.9.0 so users don't have to download it every time
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.9.0"]])' > project.clj \
&& lein deps && rm project.clj
+
+CMD ["lein", "repl"]
\ No newline at end of file
diff --git a/clojure_boot-alpine/Dockerfile b/clojure_boot-alpine/Dockerfile
index 06762a6..5eec2ea 100644
--- a/clojure_boot-alpine/Dockerfile
+++ b/clojure_boot-alpine/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8-alpine
LABEL maintainer="Wes Morgan <[email protected]>"
@@ -29,3 +23,5 @@ ENV PATH=$PATH:$BOOT_INSTALL
ENV BOOT_AS_ROOT=yes
RUN boot
+
+CMD ["boot", "repl"]
\ No newline at end of file
diff --git a/clojure_boot/Dockerfile b/clojure_boot/Dockerfile
index a871693..6317dbf 100644
--- a/clojure_boot/Dockerfile
+++ b/clojure_boot/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8
LABEL maintainer="Wes Morgan <[email protected]>"
@@ -12,6 +6,7 @@ ENV BOOT_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install
# on its first run. We always download version 2.7.2 of boot.sh because it is
# just the installer script. When/if the boot project releases a new installer
@@ -27,3 +22,5 @@ ENV PATH=$PATH:$BOOT_INSTALL
ENV BOOT_AS_ROOT=yes
RUN boot
+
+CMD ["boot", "repl"]
\ No newline at end of file
diff --git a/clojure_latest/Dockerfile b/clojure_latest/Dockerfile
index 1fbbcd9..95ae574 100644
--- a/clojure_latest/Dockerfile
+++ b/clojure_latest/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8
LABEL maintainer="Paul Lam <[email protected]>"
@@ -12,6 +6,7 @@ ENV LEIN_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# Download the whole repo as an archive
RUN mkdir -p $LEIN_INSTALL \
&& wget -q https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein-pkg \
@@ -34,3 +29,5 @@ ENV LEIN_ROOT 1
# Install clojure 1.9.0 so users don't have to download it every time
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.9.0"]])' > project.clj \
&& lein deps && rm project.clj
+
+CMD ["lein", "repl"]
\ No newline at end of file
diff --git a/clojure_onbuild/Dockerfile b/clojure_onbuild/Dockerfile
deleted file mode 100644
index 1eec0da..0000000
diff --git a/clojure_boot/Dockerfile b/clojure_openjdk-11-boot-2.8.1/Dockerfile
similarity index 87%
copy from clojure_boot/Dockerfile
copy to clojure_openjdk-11-boot-2.8.1/Dockerfile
index a871693..5a36cc7 100644
--- a/clojure_boot/Dockerfile
+++ b/clojure_openjdk-11-boot-2.8.1/Dockerfile
@@ -1,10 +1,4 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM openjdk:8
+FROM openjdk:11
LABEL maintainer="Wes Morgan <[email protected]>"
ENV BOOT_VERSION=2.8.1
@@ -12,6 +6,7 @@ ENV BOOT_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install
# on its first run. We always download version 2.7.2 of boot.sh because it is
# just the installer script. When/if the boot project releases a new installer
@@ -27,3 +22,5 @@ ENV PATH=$PATH:$BOOT_INSTALL
ENV BOOT_AS_ROOT=yes
RUN boot
+
+CMD ["boot", "repl"]
\ No newline at end of file
diff --git a/clojure_latest/Dockerfile b/clojure_openjdk-11-lein-2.8.1/Dockerfile
similarity index 92%
copy from clojure_latest/Dockerfile
copy to clojure_openjdk-11-lein-2.8.1/Dockerfile
index 1fbbcd9..cb4c5c2 100644
--- a/clojure_latest/Dockerfile
+++ b/clojure_openjdk-11-lein-2.8.1/Dockerfile
@@ -1,10 +1,4 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM openjdk:8
+FROM openjdk:11
LABEL maintainer="Paul Lam <[email protected]>"
ENV LEIN_VERSION=2.8.1
@@ -12,6 +6,7 @@ ENV LEIN_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# Download the whole repo as an archive
RUN mkdir -p $LEIN_INSTALL \
&& wget -q https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein-pkg \
@@ -34,3 +29,5 @@ ENV LEIN_ROOT 1
# Install clojure 1.9.0 so users don't have to download it every time
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.9.0"]])' > project.clj \
&& lein deps && rm project.clj
+
+CMD ["lein", "repl"]
\ No newline at end of file
diff --git a/clojure_tools-deps/Dockerfile b/clojure_openjdk-11-tools-deps-1.9.0.397/Dockerfile
similarity index 63%
copy from clojure_tools-deps/Dockerfile
copy to clojure_openjdk-11-tools-deps-1.9.0.397/Dockerfile
index 155a9d5..d0e111c 100644
--- a/clojure_tools-deps/Dockerfile
+++ b/clojure_openjdk-11-tools-deps-1.9.0.397/Dockerfile
@@ -1,20 +1,18 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM openjdk:8
+FROM openjdk:11
LABEL maintainer="Kirill Chernyshov <[email protected]>"
ENV CLOJURE_VERSION=1.9.0.397
WORKDIR /tmp
-RUN apt-get update && apt-get install rlwrap
+RUN apt-get update && apt-get install -y rlwrap
RUN wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh \
&& chmod +x linux-install-$CLOJURE_VERSION.sh \
&& ./linux-install-$CLOJURE_VERSION.sh
RUN clojure -e "(clojure-version)"
+
+# Docker bug makes rlwrap crash w/o short sleep first
+# Bug: https://github.com/moby/moby/issues/28009
+CMD sleep 1; clj
\ No newline at end of file
diff --git a/clojure_tools-deps-alpine/Dockerfile b/clojure_tools-deps-alpine/Dockerfile
index 8fe4f9b..e0ca9ba 100644
--- a/clojure_tools-deps-alpine/Dockerfile
+++ b/clojure_tools-deps-alpine/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8-alpine
LABEL maintainer="Kirill Chernyshov <[email protected]>"
@@ -11,11 +5,14 @@ ENV CLOJURE_VERSION=1.9.0.397
WORKDIR /tmp
-RUN echo '@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && \
- apk add --update --no-cache bash curl rlwrap@testing
+RUN apk add --update --no-cache bash curl
RUN wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh \
&& chmod +x linux-install-$CLOJURE_VERSION.sh \
&& ./linux-install-$CLOJURE_VERSION.sh
RUN clojure -e "(clojure-version)"
+
+# Docker bug makes rlwrap crash w/o short sleep first
+# Bug: https://github.com/moby/moby/issues/28009
+CMD sleep 1; clj
\ No newline at end of file
diff --git a/clojure_tools-deps/Dockerfile b/clojure_tools-deps/Dockerfile
index 155a9d5..bff976a 100644
--- a/clojure_tools-deps/Dockerfile
+++ b/clojure_tools-deps/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8
LABEL maintainer="Kirill Chernyshov <[email protected]>"
@@ -11,10 +5,14 @@ ENV CLOJURE_VERSION=1.9.0.397
WORKDIR /tmp
-RUN apt-get update && apt-get install rlwrap
+RUN apt-get update && apt-get install -y rlwrap
RUN wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh \
&& chmod +x linux-install-$CLOJURE_VERSION.sh \
&& ./linux-install-$CLOJURE_VERSION.sh
RUN clojure -e "(clojure-version)"
+
+# Docker bug makes rlwrap crash w/o short sleep first
+# Bug: https://github.com/moby/moby/issues/28009
+CMD sleep 1; clj
\ No newline at end of file |
Ouch, (I've poked Docker maintainers at moby/moby#28009 (comment) -- hopefully we'll get some indication of whether this is expected to be fixed or whether we have to keep the workaround for now.) At a minimum, that should probably have CMD ["sh", "-c", "sleep 1 && exec clj"] |
It sure is! I’ll make your suggested changes for now. |
Diff:diff --git a/_bashbrew-arches b/_bashbrew-arches
index 83fca96..9cde977 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -1,5 +1,4 @@
clojure:alpine @ amd64
-clojure:alpine-onbuild @ amd64
clojure:boot @ amd64
clojure:boot @ arm32v5
clojure:boot @ arm32v7
@@ -15,13 +14,27 @@ clojure:latest @ arm64v8
clojure:latest @ i386
clojure:latest @ ppc64le
clojure:latest @ s390x
-clojure:onbuild @ amd64
-clojure:onbuild @ arm32v5
-clojure:onbuild @ arm32v7
-clojure:onbuild @ arm64v8
-clojure:onbuild @ i386
-clojure:onbuild @ ppc64le
-clojure:onbuild @ s390x
+clojure:openjdk-11-boot-2.8.1 @ amd64
+clojure:openjdk-11-boot-2.8.1 @ arm32v5
+clojure:openjdk-11-boot-2.8.1 @ arm32v7
+clojure:openjdk-11-boot-2.8.1 @ arm64v8
+clojure:openjdk-11-boot-2.8.1 @ i386
+clojure:openjdk-11-boot-2.8.1 @ ppc64le
+clojure:openjdk-11-boot-2.8.1 @ s390x
+clojure:openjdk-11-lein-2.8.1 @ amd64
+clojure:openjdk-11-lein-2.8.1 @ arm32v5
+clojure:openjdk-11-lein-2.8.1 @ arm32v7
+clojure:openjdk-11-lein-2.8.1 @ arm64v8
+clojure:openjdk-11-lein-2.8.1 @ i386
+clojure:openjdk-11-lein-2.8.1 @ ppc64le
+clojure:openjdk-11-lein-2.8.1 @ s390x
+clojure:openjdk-11-tools-deps-1.9.0.397 @ amd64
+clojure:openjdk-11-tools-deps-1.9.0.397 @ arm32v5
+clojure:openjdk-11-tools-deps-1.9.0.397 @ arm32v7
+clojure:openjdk-11-tools-deps-1.9.0.397 @ arm64v8
+clojure:openjdk-11-tools-deps-1.9.0.397 @ i386
+clojure:openjdk-11-tools-deps-1.9.0.397 @ ppc64le
+clojure:openjdk-11-tools-deps-1.9.0.397 @ s390x
clojure:tools-deps @ amd64
clojure:tools-deps @ arm32v5
clojure:tools-deps @ arm32v7
diff --git a/_bashbrew-list b/_bashbrew-list
index cd41d71..16a53ce 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -1,5 +1,4 @@
clojure:alpine
-clojure:alpine-onbuild
clojure:boot
clojure:boot-2.8.1
clojure:boot-2.8.1-alpine
@@ -8,12 +7,25 @@ clojure:latest
clojure:lein
clojure:lein-2.8.1
clojure:lein-2.8.1-alpine
-clojure:lein-2.8.1-alpine-onbuild
-clojure:lein-2.8.1-onbuild
clojure:lein-alpine
-clojure:lein-alpine-onbuild
-clojure:lein-onbuild
-clojure:onbuild
+clojure:openjdk-8-boot
+clojure:openjdk-8-boot-2.8.1
+clojure:openjdk-8-boot-2.8.1-alpine
+clojure:openjdk-8-boot-alpine
+clojure:openjdk-8-lein
+clojure:openjdk-8-lein-2.8.1
+clojure:openjdk-8-lein-2.8.1-alpine
+clojure:openjdk-8-lein-alpine
+clojure:openjdk-8-tools-deps
+clojure:openjdk-8-tools-deps-1.9.0.397
+clojure:openjdk-8-tools-deps-1.9.0.397-alpine
+clojure:openjdk-8-tools-deps-alpine
+clojure:openjdk-11-boot
+clojure:openjdk-11-boot-2.8.1
+clojure:openjdk-11-lein
+clojure:openjdk-11-lein-2.8.1
+clojure:openjdk-11-tools-deps
+clojure:openjdk-11-tools-deps-1.9.0.397
clojure:tools-deps
clojure:tools-deps-1.9.0.397
clojure:tools-deps-1.9.0.397-alpine
diff --git a/clojure_alpine-onbuild/Dockerfile b/clojure_alpine-onbuild/Dockerfile
deleted file mode 100644
index 2942ddd..0000000
diff --git a/clojure_alpine/Dockerfile b/clojure_alpine/Dockerfile
index 0c4fda4..8423b66 100644
--- a/clojure_alpine/Dockerfile
+++ b/clojure_alpine/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8-alpine
LABEL maintainer="Wes Morgan <[email protected]>"
@@ -36,3 +30,5 @@ ENV LEIN_ROOT 1
# Install clojure 1.9.0 so users don't have to download it every time
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.9.0"]])' > project.clj \
&& lein deps && rm project.clj
+
+CMD ["lein", "repl"]
\ No newline at end of file
diff --git a/clojure_boot-alpine/Dockerfile b/clojure_boot-alpine/Dockerfile
index 06762a6..5eec2ea 100644
--- a/clojure_boot-alpine/Dockerfile
+++ b/clojure_boot-alpine/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8-alpine
LABEL maintainer="Wes Morgan <[email protected]>"
@@ -29,3 +23,5 @@ ENV PATH=$PATH:$BOOT_INSTALL
ENV BOOT_AS_ROOT=yes
RUN boot
+
+CMD ["boot", "repl"]
\ No newline at end of file
diff --git a/clojure_boot/Dockerfile b/clojure_boot/Dockerfile
index a871693..6317dbf 100644
--- a/clojure_boot/Dockerfile
+++ b/clojure_boot/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8
LABEL maintainer="Wes Morgan <[email protected]>"
@@ -12,6 +6,7 @@ ENV BOOT_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install
# on its first run. We always download version 2.7.2 of boot.sh because it is
# just the installer script. When/if the boot project releases a new installer
@@ -27,3 +22,5 @@ ENV PATH=$PATH:$BOOT_INSTALL
ENV BOOT_AS_ROOT=yes
RUN boot
+
+CMD ["boot", "repl"]
\ No newline at end of file
diff --git a/clojure_latest/Dockerfile b/clojure_latest/Dockerfile
index 1fbbcd9..95ae574 100644
--- a/clojure_latest/Dockerfile
+++ b/clojure_latest/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8
LABEL maintainer="Paul Lam <[email protected]>"
@@ -12,6 +6,7 @@ ENV LEIN_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# Download the whole repo as an archive
RUN mkdir -p $LEIN_INSTALL \
&& wget -q https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein-pkg \
@@ -34,3 +29,5 @@ ENV LEIN_ROOT 1
# Install clojure 1.9.0 so users don't have to download it every time
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.9.0"]])' > project.clj \
&& lein deps && rm project.clj
+
+CMD ["lein", "repl"]
\ No newline at end of file
diff --git a/clojure_onbuild/Dockerfile b/clojure_onbuild/Dockerfile
deleted file mode 100644
index 1eec0da..0000000
diff --git a/clojure_boot/Dockerfile b/clojure_openjdk-11-boot-2.8.1/Dockerfile
similarity index 87%
copy from clojure_boot/Dockerfile
copy to clojure_openjdk-11-boot-2.8.1/Dockerfile
index a871693..5a36cc7 100644
--- a/clojure_boot/Dockerfile
+++ b/clojure_openjdk-11-boot-2.8.1/Dockerfile
@@ -1,10 +1,4 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM openjdk:8
+FROM openjdk:11
LABEL maintainer="Wes Morgan <[email protected]>"
ENV BOOT_VERSION=2.8.1
@@ -12,6 +6,7 @@ ENV BOOT_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# NOTE: BOOT_VERSION tells the boot.sh script which version of boot to install
# on its first run. We always download version 2.7.2 of boot.sh because it is
# just the installer script. When/if the boot project releases a new installer
@@ -27,3 +22,5 @@ ENV PATH=$PATH:$BOOT_INSTALL
ENV BOOT_AS_ROOT=yes
RUN boot
+
+CMD ["boot", "repl"]
\ No newline at end of file
diff --git a/clojure_latest/Dockerfile b/clojure_openjdk-11-lein-2.8.1/Dockerfile
similarity index 92%
copy from clojure_latest/Dockerfile
copy to clojure_openjdk-11-lein-2.8.1/Dockerfile
index 1fbbcd9..cb4c5c2 100644
--- a/clojure_latest/Dockerfile
+++ b/clojure_openjdk-11-lein-2.8.1/Dockerfile
@@ -1,10 +1,4 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM openjdk:8
+FROM openjdk:11
LABEL maintainer="Paul Lam <[email protected]>"
ENV LEIN_VERSION=2.8.1
@@ -12,6 +6,7 @@ ENV LEIN_INSTALL=/usr/local/bin/
WORKDIR /tmp
+
# Download the whole repo as an archive
RUN mkdir -p $LEIN_INSTALL \
&& wget -q https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein-pkg \
@@ -34,3 +29,5 @@ ENV LEIN_ROOT 1
# Install clojure 1.9.0 so users don't have to download it every time
RUN echo '(defproject dummy "" :dependencies [[org.clojure/clojure "1.9.0"]])' > project.clj \
&& lein deps && rm project.clj
+
+CMD ["lein", "repl"]
\ No newline at end of file
diff --git a/clojure_tools-deps/Dockerfile b/clojure_openjdk-11-tools-deps-1.9.0.397/Dockerfile
similarity index 60%
copy from clojure_tools-deps/Dockerfile
copy to clojure_openjdk-11-tools-deps-1.9.0.397/Dockerfile
index 155a9d5..7f90881 100644
--- a/clojure_tools-deps/Dockerfile
+++ b/clojure_openjdk-11-tools-deps-1.9.0.397/Dockerfile
@@ -1,20 +1,18 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM openjdk:8
+FROM openjdk:11
LABEL maintainer="Kirill Chernyshov <[email protected]>"
ENV CLOJURE_VERSION=1.9.0.397
WORKDIR /tmp
-RUN apt-get update && apt-get install rlwrap
+RUN apt-get update && apt-get install -y rlwrap
RUN wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh \
&& chmod +x linux-install-$CLOJURE_VERSION.sh \
&& ./linux-install-$CLOJURE_VERSION.sh
RUN clojure -e "(clojure-version)"
+
+# Docker bug makes rlwrap crash w/o short sleep first
+# Bug: https://github.com/moby/moby/issues/28009
+CMD ["sh", "-c", "sleep 1 && exec clj"]
\ No newline at end of file
diff --git a/clojure_tools-deps-alpine/Dockerfile b/clojure_tools-deps-alpine/Dockerfile
index 8fe4f9b..bda7430 100644
--- a/clojure_tools-deps-alpine/Dockerfile
+++ b/clojure_tools-deps-alpine/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8-alpine
LABEL maintainer="Kirill Chernyshov <[email protected]>"
@@ -11,11 +5,14 @@ ENV CLOJURE_VERSION=1.9.0.397
WORKDIR /tmp
-RUN echo '@testing http://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories && \
- apk add --update --no-cache bash curl rlwrap@testing
+RUN apk add --update --no-cache bash curl
RUN wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh \
&& chmod +x linux-install-$CLOJURE_VERSION.sh \
&& ./linux-install-$CLOJURE_VERSION.sh
RUN clojure -e "(clojure-version)"
+
+# Docker bug makes rlwrap crash w/o short sleep first
+# Bug: https://github.com/moby/moby/issues/28009
+CMD ["sh", "-c", "sleep 1 && exec clj"]
\ No newline at end of file
diff --git a/clojure_tools-deps/Dockerfile b/clojure_tools-deps/Dockerfile
index 155a9d5..022627e 100644
--- a/clojure_tools-deps/Dockerfile
+++ b/clojure_tools-deps/Dockerfile
@@ -1,9 +1,3 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
FROM openjdk:8
LABEL maintainer="Kirill Chernyshov <[email protected]>"
@@ -11,10 +5,14 @@ ENV CLOJURE_VERSION=1.9.0.397
WORKDIR /tmp
-RUN apt-get update && apt-get install rlwrap
+RUN apt-get update && apt-get install -y rlwrap
RUN wget https://download.clojure.org/install/linux-install-$CLOJURE_VERSION.sh \
&& chmod +x linux-install-$CLOJURE_VERSION.sh \
&& ./linux-install-$CLOJURE_VERSION.sh
RUN clojure -e "(clojure-version)"
+
+# Docker bug makes rlwrap crash w/o short sleep first
+# Bug: https://github.com/moby/moby/issues/28009
+CMD ["sh", "-c", "sleep 1 && exec clj"]
\ No newline at end of file |
These changes are fine and the build failure is unrelated to them, but you will want to make a follow-up PR to fix Build test of #5117; 10e6a86; $ bashbrew build clojure:openjdk-8-lein
Building bashbrew/cache:1ef08715b0dd89e9f8b73d655da43598f6457b9c0535e115690978d8fe60b098 (clojure:openjdk-8-lein)
error: failed building "clojure" (tags "openjdk-8-lein, openjdk-8-lein-2.8.1, lein-2.8.1, lein, latest")
exit status 2
docker ["build" "-t" "bashbrew/cache:1ef08715b0dd89e9f8b73d655da43598f6457b9c0535e115690978d8fe60b098" "-f" "Dockerfile" "--rm" "--force-rm" "-"] output:
Sending build context to Docker daemon 10.24kB
Step 1/10 : FROM openjdk:8
---> 5716b79c45b0
Step 2/10 : LABEL maintainer="Paul Lam <[email protected]>"
---> Using cache
---> 45b6bc011ac7
Step 3/10 : ENV LEIN_VERSION=2.8.1
---> Using cache
---> 27e6c0b9f9f9
Step 4/10 : ENV LEIN_INSTALL=/usr/local/bin/
---> Using cache
---> c3abde718405
Step 5/10 : WORKDIR /tmp
---> Using cache
---> e5ec20e8c52b
Step 6/10 : RUN mkdir -p $LEIN_INSTALL && wget -q https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein-pkg && echo "Comparing lein-pkg checksum ..." && echo "019faa5f91a463bf9742c3634ee32fb3db8c47f0 *lein-pkg" | sha1sum -c - && mv lein-pkg $LEIN_INSTALL/lein && chmod 0755 $LEIN_INSTALL/lein && wget -q https://github.com/technomancy/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.zip && wget -q https://github.com/technomancy/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.zip.asc && gpg --keyserver pool.sks-keyservers.net --recv-key 2B72BF956E23DE5E830D50F6002AF007D1A7CC18 && echo "Verifying Jar file signature ..." && gpg --verify leiningen-$LEIN_VERSION-standalone.zip.asc && rm leiningen-$LEIN_VERSION-standalone.zip.asc && mkdir -p /usr/share/java && mv leiningen-$LEIN_VERSION-standalone.zip /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar
---> Running in 8df4298f8f43
Comparing lein-pkg checksum ...
lein-pkg: OK
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
gpg: cannot open '/dev/tty': No such device or address
Removing intermediate container 8df4298f8f43
The command '/bin/sh -c mkdir -p $LEIN_INSTALL && wget -q https://raw.githubusercontent.com/technomancy/leiningen/$LEIN_VERSION/bin/lein-pkg && echo "Comparing lein-pkg checksum ..." && echo "019faa5f91a463bf9742c3634ee32fb3db8c47f0 *lein-pkg" | sha1sum -c - && mv lein-pkg $LEIN_INSTALL/lein && chmod 0755 $LEIN_INSTALL/lein && wget -q https://github.com/technomancy/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.zip && wget -q https://github.com/technomancy/leiningen/releases/download/$LEIN_VERSION/leiningen-$LEIN_VERSION-standalone.zip.asc && gpg --keyserver pool.sks-keyservers.net --recv-key 2B72BF956E23DE5E830D50F6002AF007D1A7CC18 && echo "Verifying Jar file signature ..." && gpg --verify leiningen-$LEIN_VERSION-standalone.zip.asc && rm leiningen-$LEIN_VERSION-standalone.zip.asc && mkdir -p /usr/share/java && mv leiningen-$LEIN_VERSION-standalone.zip /usr/share/java/leiningen-$LEIN_VERSION-standalone.jar' returned a non-zero code: 2
$ bashbrew build clojure:openjdk-8-lein-alpine
Building bashbrew/cache:bfbb0e584530212ffdd8dd2fe64c0fe31c8afd783338eccf51b38aee5fb64eea (clojure:openjdk-8-lein-alpine)
Tagging clojure:openjdk-8-lein-alpine
Tagging clojure:openjdk-8-lein-2.8.1-alpine
Tagging clojure:lein-2.8.1-alpine
Tagging clojure:lein-alpine
Tagging clojure:alpine
$ test/run.sh clojure:openjdk-8-lein-alpine
testing clojure:openjdk-8-lein-alpine
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build clojure:openjdk-8-boot
Building bashbrew/cache:d9953214d41f9ca622c7400d91d4ee3f0f5f097d4cb0795b5d48ad49bd8730d8 (clojure:openjdk-8-boot)
Tagging clojure:openjdk-8-boot
Tagging clojure:openjdk-8-boot-2.8.1
Tagging clojure:boot-2.8.1
Tagging clojure:boot
$ test/run.sh clojure:openjdk-8-boot
testing clojure:openjdk-8-boot
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build clojure:openjdk-8-boot-alpine
Building bashbrew/cache:71409b262e3d12b51b9ca1e7f6fbbf3c9e013be26cbdc6c2e65a89f03c03010d (clojure:openjdk-8-boot-alpine)
Tagging clojure:openjdk-8-boot-alpine
Tagging clojure:openjdk-8-boot-2.8.1-alpine
Tagging clojure:boot-2.8.1-alpine
Tagging clojure:boot-alpine
$ test/run.sh clojure:openjdk-8-boot-alpine
testing clojure:openjdk-8-boot-alpine
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build clojure:openjdk-8-tools-deps
Building bashbrew/cache:b42e9c04e4c7df7a1359277760ffc42e95de2921b64563a24b1442e788110a64 (clojure:openjdk-8-tools-deps)
Tagging clojure:openjdk-8-tools-deps
Tagging clojure:openjdk-8-tools-deps-1.9.0.397
Tagging clojure:tools-deps-1.9.0.397
Tagging clojure:tools-deps
$ test/run.sh clojure:openjdk-8-tools-deps
testing clojure:openjdk-8-tools-deps
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build clojure:openjdk-8-tools-deps-alpine
Building bashbrew/cache:692abb3da823ec11c171fc5bcc83afb4ee13a33874ac43456b5e7572a67a1216 (clojure:openjdk-8-tools-deps-alpine)
Tagging clojure:openjdk-8-tools-deps-alpine
Tagging clojure:openjdk-8-tools-deps-1.9.0.397-alpine
Tagging clojure:tools-deps-1.9.0.397-alpine
Tagging clojure:tools-deps-alpine
$ test/run.sh clojure:openjdk-8-tools-deps-alpine
testing clojure:openjdk-8-tools-deps-alpine
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build clojure:openjdk-11-lein
Building bashbrew/cache:6c8c31becb3786aff29a1609aeff9c28631bdcf55304df57e15c9c84910b4b84 (clojure:openjdk-11-lein)
Tagging clojure:openjdk-11-lein
Tagging clojure:openjdk-11-lein-2.8.1
$ test/run.sh clojure:openjdk-11-lein
testing clojure:openjdk-11-lein
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build clojure:openjdk-11-boot
Building bashbrew/cache:52514115a090a8131556582abbe396172e4551c2fac9979c4d4f70947db3ae2e (clojure:openjdk-11-boot)
Tagging clojure:openjdk-11-boot
Tagging clojure:openjdk-11-boot-2.8.1
$ test/run.sh clojure:openjdk-11-boot
testing clojure:openjdk-11-boot
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
$ bashbrew build clojure:openjdk-11-tools-deps
Building bashbrew/cache:bd00672c77701aa968ad2d5bfa90dcb5a65260b7bd7573c1a0b9e0a15b2e0f5a (clojure:openjdk-11-tools-deps)
Tagging clojure:openjdk-11-tools-deps
Tagging clojure:openjdk-11-tools-deps-1.9.0.397
$ test/run.sh clojure:openjdk-11-tools-deps
testing clojure:openjdk-11-tools-deps
'utc' [1/4]...passed
'cve-2014--shellshock' [2/4]...passed
'no-hard-coded-passwords' [3/4]...passed
'override-cmd' [4/4]...passed
The following images failed to build:
|
@yosifkit Did this merge lead to this issue, you think? Quantisan/docker-clojure#59 |
That would be an incident of #3835 |
This also does away with the long-deprecated
onbuild
variants. We had to rewrite our build infrastructure to accommodate the new Java release cadence and allow for multiple major Java versions to coexist. It was much simpler to leaveonbuild
out since it would have just added yet another compounding variant to build for every combination of every other variant.