Skip to content

Update docker-library images #4760

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

Merged
merged 1 commit into from
Aug 22, 2018

Conversation

tianon
Copy link
Member

@tianon tianon commented Aug 22, 2018

- `docker`: 18.06.1-ce GA
- `ghost`: Ghost 2.0! (docker-library/ghost#145)
- `golang`: remove unused files (docker-library/golang#232)
- `postgres`: add `stretch-backports` when building 11+ from source (docker-library/postgres#485)
@tianon
Copy link
Member Author

tianon commented Aug 22, 2018

Diff:
diff --git a/_bashbrew-arches b/_bashbrew-arches
index 94f0384..67662d4 100644
--- a/_bashbrew-arches
+++ b/_bashbrew-arches
@@ -13,21 +13,6 @@ docker:latest @ arm32v6
 docker:latest @ arm64v8
 docker:latest @ ppc64le
 docker:latest @ s390x
-docker:test @ amd64
-docker:test @ arm32v6
-docker:test @ arm64v8
-docker:test @ ppc64le
-docker:test @ s390x
-docker:test-dind @ amd64
-docker:test-dind @ arm32v6
-docker:test-dind @ arm64v8
-docker:test-dind @ ppc64le
-docker:test-dind @ s390x
-docker:test-git @ amd64
-docker:test-git @ arm32v6
-docker:test-git @ arm64v8
-docker:test-git @ ppc64le
-docker:test-git @ s390x
 ghost:0 @ amd64
 ghost:0 @ arm32v7
 ghost:0 @ arm64v8
@@ -35,6 +20,18 @@ ghost:0 @ i386
 ghost:0 @ ppc64le
 ghost:0 @ s390x
 ghost:0-alpine @ amd64
+ghost:1 @ amd64
+ghost:1 @ arm32v7
+ghost:1 @ arm64v8
+ghost:1 @ i386
+ghost:1 @ ppc64le
+ghost:1 @ s390x
+ghost:1-alpine @ amd64
+ghost:1-alpine @ arm32v6
+ghost:1-alpine @ arm64v8
+ghost:1-alpine @ i386
+ghost:1-alpine @ ppc64le
+ghost:1-alpine @ s390x
 ghost:alpine @ amd64
 ghost:alpine @ arm32v6
 ghost:alpine @ arm64v8
diff --git a/_bashbrew-list b/_bashbrew-list
index 86fe0e1..e2d24fc 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -4,27 +4,18 @@ docker:18-git
 docker:18.06
 docker:18.06-dind
 docker:18.06-git
-docker:18.06-rc
-docker:18.06-rc-dind
-docker:18.06-rc-git
-docker:18.06.0
-docker:18.06.0-ce
-docker:18.06.0-ce-dind
-docker:18.06.0-ce-git
-docker:18.06.0-dind
-docker:18.06.0-git
-docker:18.06.1-ce-rc2
-docker:18.06.1-ce-rc2-dind
-docker:18.06.1-ce-rc2-git
+docker:18.06.1
+docker:18.06.1-ce
+docker:18.06.1-ce-dind
+docker:18.06.1-ce-git
+docker:18.06.1-dind
+docker:18.06.1-git
 docker:dind
 docker:edge
 docker:edge-dind
 docker:edge-git
 docker:git
 docker:latest
-docker:rc
-docker:rc-dind
-docker:rc-git
 docker:stable
 docker:stable-dind
 docker:stable-git
@@ -43,6 +34,12 @@ ghost:1.25
 ghost:1.25-alpine
 ghost:1.25.5
 ghost:1.25.5-alpine
+ghost:2
+ghost:2-alpine
+ghost:2.0
+ghost:2.0-alpine
+ghost:2.0.3
+ghost:2.0.3-alpine
 ghost:alpine
 ghost:latest
 golang:1
diff --git a/docker_latest/Dockerfile b/docker_latest/Dockerfile
index d7ba95a..5a4fd77 100644
--- a/docker_latest/Dockerfile
+++ b/docker_latest/Dockerfile
@@ -10,7 +10,7 @@ RUN apk add --no-cache \
 RUN [ ! -e /etc/nsswitch.conf ] && echo 'hosts: files dns' > /etc/nsswitch.conf
 
 ENV DOCKER_CHANNEL stable
-ENV DOCKER_VERSION 18.06.0-ce
+ENV DOCKER_VERSION 18.06.1-ce
 # TODO ENV DOCKER_SHA256
 # https://github.com/docker/docker-ce/blob/5b073ee2cf564edee5adca05eee574142f7627bb/components/packaging/static/hash_files !!
 # (no SHA file artifacts on download.docker.com yet as of 2017-06-07 though)
diff --git a/docker_test-dind/Dockerfile b/docker_test-dind/Dockerfile
deleted file mode 100644
index 3ca3b09..0000000
diff --git a/docker_test-dind/dockerd-entrypoint.sh b/docker_test-dind/dockerd-entrypoint.sh
deleted file mode 100755
index d4ca510..0000000
diff --git a/docker_test-git/Dockerfile b/docker_test-git/Dockerfile
deleted file mode 100644
index 9e21029..0000000
diff --git a/docker_test/Dockerfile b/docker_test/Dockerfile
deleted file mode 100644
index b71d3f2..0000000
diff --git a/docker_test/docker-entrypoint.sh b/docker_test/docker-entrypoint.sh
deleted file mode 100755
index 848a4ad..0000000
diff --git a/docker_test/modprobe.sh b/docker_test/modprobe.sh
deleted file mode 100755
index b357d89..0000000
diff --git a/ghost_alpine/Dockerfile b/ghost_1-alpine/Dockerfile
similarity index 100%
copy from ghost_alpine/Dockerfile
copy to ghost_1-alpine/Dockerfile
diff --git a/ghost_alpine/docker-entrypoint.sh b/ghost_1-alpine/docker-entrypoint.sh
similarity index 100%
copy from ghost_alpine/docker-entrypoint.sh
copy to ghost_1-alpine/docker-entrypoint.sh
diff --git a/ghost_latest/Dockerfile b/ghost_1/Dockerfile
similarity index 100%
copy from ghost_latest/Dockerfile
copy to ghost_1/Dockerfile
diff --git a/ghost_latest/docker-entrypoint.sh b/ghost_1/docker-entrypoint.sh
similarity index 100%
copy from ghost_latest/docker-entrypoint.sh
copy to ghost_1/docker-entrypoint.sh
diff --git a/ghost_alpine/Dockerfile b/ghost_alpine/Dockerfile
index 847add9..1fc8a6c 100644
--- a/ghost_alpine/Dockerfile
+++ b/ghost_alpine/Dockerfile
@@ -17,7 +17,7 @@ RUN npm install -g "ghost-cli@$GHOST_CLI_VERSION"
 ENV GHOST_INSTALL /var/lib/ghost
 ENV GHOST_CONTENT /var/lib/ghost/content
 
-ENV GHOST_VERSION 1.25.5
+ENV GHOST_VERSION 2.0.3
 
 RUN set -ex; \
 	mkdir -p "$GHOST_INSTALL"; \
@@ -37,14 +37,7 @@ RUN set -ex; \
 # need to save initial content for pre-seeding empty volumes
 	mv "$GHOST_CONTENT" "$GHOST_INSTALL/content.orig"; \
 	mkdir -p "$GHOST_CONTENT"; \
-	chown node:node "$GHOST_CONTENT"; \
-	\
-# sanity check to ensure knex-migrator was installed
-	"$GHOST_INSTALL/current/node_modules/knex-migrator/bin/knex-migrator" --version
-
-# add knex-migrator bins into PATH
-# we want these from the context of Ghost's "node_modules" directory (instead of doing "npm install -g knex-migrator") so they can share the DB driver modules
-ENV PATH $PATH:$GHOST_INSTALL/current/node_modules/knex-migrator/bin
+	chown node:node "$GHOST_CONTENT"
 
 # TODO multiarch sqlite3 (once either "node:6-alpine" has multiarch or we switch to a base that does)
 
diff --git a/ghost_alpine/docker-entrypoint.sh b/ghost_alpine/docker-entrypoint.sh
index 21eee25..bedd4fa 100755
--- a/ghost_alpine/docker-entrypoint.sh
+++ b/ghost_alpine/docker-entrypoint.sh
@@ -17,8 +17,6 @@ if [[ "$*" == node*current/index.js* ]]; then
 			tar -cC "$(dirname "$src")" "$(basename "$src")" | tar -xC "$(dirname "$target")"
 		fi
 	done
-
-	knex-migrator-migrate --init --mgpath "$GHOST_INSTALL/current"
 fi
 
 exec "$@"
diff --git a/ghost_latest/Dockerfile b/ghost_latest/Dockerfile
index a834190..8c8e63a 100644
--- a/ghost_latest/Dockerfile
+++ b/ghost_latest/Dockerfile
@@ -23,7 +23,7 @@ RUN npm install -g "ghost-cli@$GHOST_CLI_VERSION"
 ENV GHOST_INSTALL /var/lib/ghost
 ENV GHOST_CONTENT /var/lib/ghost/content
 
-ENV GHOST_VERSION 1.25.5
+ENV GHOST_VERSION 2.0.3
 
 RUN set -ex; \
 	mkdir -p "$GHOST_INSTALL"; \
@@ -43,14 +43,7 @@ RUN set -ex; \
 # need to save initial content for pre-seeding empty volumes
 	mv "$GHOST_CONTENT" "$GHOST_INSTALL/content.orig"; \
 	mkdir -p "$GHOST_CONTENT"; \
-	chown node:node "$GHOST_CONTENT"; \
-	\
-# sanity check to ensure knex-migrator was installed
-	"$GHOST_INSTALL/current/node_modules/knex-migrator/bin/knex-migrator" --version
-
-# add knex-migrator bins into PATH
-# we want these from the context of Ghost's "node_modules" directory (instead of doing "npm install -g knex-migrator") so they can share the DB driver modules
-ENV PATH $PATH:$GHOST_INSTALL/current/node_modules/knex-migrator/bin
+	chown node:node "$GHOST_CONTENT"
 
 RUN set -eux; \
 # force install "sqlite3" manually since it's an optional dependency of "ghost"
diff --git a/ghost_latest/docker-entrypoint.sh b/ghost_latest/docker-entrypoint.sh
index 1060b05..c7bfbe3 100755
--- a/ghost_latest/docker-entrypoint.sh
+++ b/ghost_latest/docker-entrypoint.sh
@@ -17,8 +17,6 @@ if [[ "$*" == node*current/index.js* ]]; then
 			tar -cC "$(dirname "$src")" "$(basename "$src")" | tar -xC "$(dirname "$target")"
 		fi
 	done
-
-	knex-migrator-migrate --init --mgpath "$GHOST_INSTALL/current"
 fi
 
 exec "$@"
diff --git a/golang_1.9-alpine/Dockerfile b/golang_1.9-alpine/Dockerfile
index e016659..06f61ae 100644
--- a/golang_1.9-alpine/Dockerfile
+++ b/golang_1.9-alpine/Dockerfile
@@ -51,7 +51,14 @@ RUN set -eux; \
 	done; \
 	./make.bash; \
 	\
-	rm -rf /go-alpine-patches; \
+	rm -rf \
+		/go-alpine-patches \
+# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125
+		/usr/local/go/pkg/bootstrap \
+# https://golang.org/cl/82095
+# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56
+		/usr/local/go/pkg/obj \
+	; \
 	apk del .build-deps; \
 	\
 	export PATH="/usr/local/go/bin:$PATH"; \
diff --git a/golang_1.9-alpine3.7/Dockerfile b/golang_1.9-alpine3.7/Dockerfile
index 0959db2..8fdff07 100644
--- a/golang_1.9-alpine3.7/Dockerfile
+++ b/golang_1.9-alpine3.7/Dockerfile
@@ -51,7 +51,14 @@ RUN set -eux; \
 	done; \
 	./make.bash; \
 	\
-	rm -rf /go-alpine-patches; \
+	rm -rf \
+		/go-alpine-patches \
+# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125
+		/usr/local/go/pkg/bootstrap \
+# https://golang.org/cl/82095
+# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56
+		/usr/local/go/pkg/obj \
+	; \
 	apk del .build-deps; \
 	\
 	export PATH="/usr/local/go/bin:$PATH"; \
diff --git a/golang_alpine/Dockerfile b/golang_alpine/Dockerfile
index 49bb202..13b4481 100644
--- a/golang_alpine/Dockerfile
+++ b/golang_alpine/Dockerfile
@@ -51,7 +51,14 @@ RUN set -eux; \
 	done; \
 	./make.bash; \
 	\
-	rm -rf /go-alpine-patches; \
+	rm -rf \
+		/go-alpine-patches \
+# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125
+		/usr/local/go/pkg/bootstrap \
+# https://golang.org/cl/82095
+# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56
+		/usr/local/go/pkg/obj \
+	; \
 	apk del .build-deps; \
 	\
 	export PATH="/usr/local/go/bin:$PATH"; \
diff --git a/golang_alpine3.7/Dockerfile b/golang_alpine3.7/Dockerfile
index dee775b..e1cfdd3 100644
--- a/golang_alpine3.7/Dockerfile
+++ b/golang_alpine3.7/Dockerfile
@@ -51,7 +51,14 @@ RUN set -eux; \
 	done; \
 	./make.bash; \
 	\
-	rm -rf /go-alpine-patches; \
+	rm -rf \
+		/go-alpine-patches \
+# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125
+		/usr/local/go/pkg/bootstrap \
+# https://golang.org/cl/82095
+# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56
+		/usr/local/go/pkg/obj \
+	; \
 	apk del .build-deps; \
 	\
 	export PATH="/usr/local/go/bin:$PATH"; \
diff --git a/golang_rc-alpine/Dockerfile b/golang_rc-alpine/Dockerfile
index aad37d0..9434143 100644
--- a/golang_rc-alpine/Dockerfile
+++ b/golang_rc-alpine/Dockerfile
@@ -51,7 +51,14 @@ RUN set -eux; \
 	done; \
 	./make.bash; \
 	\
-	rm -rf /go-alpine-patches; \
+	rm -rf \
+		/go-alpine-patches \
+# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125
+		/usr/local/go/pkg/bootstrap \
+# https://golang.org/cl/82095
+# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56
+		/usr/local/go/pkg/obj \
+	; \
 	apk del .build-deps; \
 	\
 	export PATH="/usr/local/go/bin:$PATH"; \
diff --git a/golang_rc-alpine3.7/Dockerfile b/golang_rc-alpine3.7/Dockerfile
index 687d482..2245623 100644
--- a/golang_rc-alpine3.7/Dockerfile
+++ b/golang_rc-alpine3.7/Dockerfile
@@ -51,7 +51,14 @@ RUN set -eux; \
 	done; \
 	./make.bash; \
 	\
-	rm -rf /go-alpine-patches; \
+	rm -rf \
+		/go-alpine-patches \
+# https://github.com/golang/go/blob/0b30cf534a03618162d3015c8705dd2231e34703/src/cmd/dist/buildtool.go#L121-L125
+		/usr/local/go/pkg/bootstrap \
+# https://golang.org/cl/82095
+# https://github.com/golang/build/blob/e3fe1605c30f6a3fd136b561569933312ede8782/cmd/release/releaselet.go#L56
+		/usr/local/go/pkg/obj \
+	; \
 	apk del .build-deps; \
 	\
 	export PATH="/usr/local/go/bin:$PATH"; \
diff --git a/postgres_11/Dockerfile b/postgres_11/Dockerfile
index 494ceb6..3044c31 100644
--- a/postgres_11/Dockerfile
+++ b/postgres_11/Dockerfile
@@ -75,6 +75,9 @@ ENV PG_VERSION 11~beta3-1.pgdg90+2
 
 RUN set -ex; \
 	\
+# see note below about "*.pyc" files
+	export PYTHONDONTWRITEBYTECODE=1; \
+	\
 	dpkgArch="$(dpkg --print-architecture)"; \
 	case "$dpkgArch" in \
 		amd64|i386|ppc64el) \
@@ -87,6 +90,15 @@ RUN set -ex; \
 # let's build binaries from their published source packages
 			echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \
 			\
+			case "$PG_MAJOR" in \
+				9.* | 10 ) ;; \
+				*) \
+# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)
+# TODO remove this once we hit buster+
+					echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
+					;; \
+			esac; \
+			\
 			tempDir="$(mktemp -d)"; \
 			cd "$tempDir"; \
 			\
@@ -135,7 +147,10 @@ RUN set -ex; \
 # if we have leftovers from building, let's purge them (including extra, unnecessary build deps)
 		apt-get purge -y --auto-remove; \
 		rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; \
-	fi
+	fi; \
+	\
+# some of the steps above generate a lot of "*.pyc" files (and setting "PYTHONDONTWRITEBYTECODE" beforehand doesn't propagate properly for some reason), so we clean them up manually (as long as they aren't owned by a package)
+	find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +
 
 # make the sample config easier to munge (and "correct by default")
 RUN mv -v "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample" /usr/share/postgresql/ \
diff --git a/postgres_9.3/Dockerfile b/postgres_9.3/Dockerfile
index 02d20e2..10d2bfe 100644
--- a/postgres_9.3/Dockerfile
+++ b/postgres_9.3/Dockerfile
@@ -75,6 +75,9 @@ ENV PG_VERSION 9.3.24-1.pgdg90+1
 
 RUN set -ex; \
 	\
+# see note below about "*.pyc" files
+	export PYTHONDONTWRITEBYTECODE=1; \
+	\
 	dpkgArch="$(dpkg --print-architecture)"; \
 	case "$dpkgArch" in \
 		amd64|i386|ppc64el) \
@@ -87,6 +90,15 @@ RUN set -ex; \
 # let's build binaries from their published source packages
 			echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \
 			\
+			case "$PG_MAJOR" in \
+				9.* | 10 ) ;; \
+				*) \
+# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)
+# TODO remove this once we hit buster+
+					echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
+					;; \
+			esac; \
+			\
 			tempDir="$(mktemp -d)"; \
 			cd "$tempDir"; \
 			\
@@ -136,7 +148,10 @@ RUN set -ex; \
 # if we have leftovers from building, let's purge them (including extra, unnecessary build deps)
 		apt-get purge -y --auto-remove; \
 		rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; \
-	fi
+	fi; \
+	\
+# some of the steps above generate a lot of "*.pyc" files (and setting "PYTHONDONTWRITEBYTECODE" beforehand doesn't propagate properly for some reason), so we clean them up manually (as long as they aren't owned by a package)
+	find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +
 
 # make the sample config easier to munge (and "correct by default")
 RUN mv -v "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample" /usr/share/postgresql/ \
diff --git a/postgres_9.4/Dockerfile b/postgres_9.4/Dockerfile
index efbccf4..d245e0c 100644
--- a/postgres_9.4/Dockerfile
+++ b/postgres_9.4/Dockerfile
@@ -75,6 +75,9 @@ ENV PG_VERSION 9.4.19-1.pgdg90+1
 
 RUN set -ex; \
 	\
+# see note below about "*.pyc" files
+	export PYTHONDONTWRITEBYTECODE=1; \
+	\
 	dpkgArch="$(dpkg --print-architecture)"; \
 	case "$dpkgArch" in \
 		amd64|i386|ppc64el) \
@@ -87,6 +90,15 @@ RUN set -ex; \
 # let's build binaries from their published source packages
 			echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \
 			\
+			case "$PG_MAJOR" in \
+				9.* | 10 ) ;; \
+				*) \
+# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)
+# TODO remove this once we hit buster+
+					echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
+					;; \
+			esac; \
+			\
 			tempDir="$(mktemp -d)"; \
 			cd "$tempDir"; \
 			\
@@ -136,7 +148,10 @@ RUN set -ex; \
 # if we have leftovers from building, let's purge them (including extra, unnecessary build deps)
 		apt-get purge -y --auto-remove; \
 		rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; \
-	fi
+	fi; \
+	\
+# some of the steps above generate a lot of "*.pyc" files (and setting "PYTHONDONTWRITEBYTECODE" beforehand doesn't propagate properly for some reason), so we clean them up manually (as long as they aren't owned by a package)
+	find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +
 
 # make the sample config easier to munge (and "correct by default")
 RUN mv -v "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample" /usr/share/postgresql/ \
diff --git a/postgres_9.5/Dockerfile b/postgres_9.5/Dockerfile
index de5f9b9..eac77c1 100644
--- a/postgres_9.5/Dockerfile
+++ b/postgres_9.5/Dockerfile
@@ -75,6 +75,9 @@ ENV PG_VERSION 9.5.14-1.pgdg90+1
 
 RUN set -ex; \
 	\
+# see note below about "*.pyc" files
+	export PYTHONDONTWRITEBYTECODE=1; \
+	\
 	dpkgArch="$(dpkg --print-architecture)"; \
 	case "$dpkgArch" in \
 		amd64|i386|ppc64el) \
@@ -87,6 +90,15 @@ RUN set -ex; \
 # let's build binaries from their published source packages
 			echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \
 			\
+			case "$PG_MAJOR" in \
+				9.* | 10 ) ;; \
+				*) \
+# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)
+# TODO remove this once we hit buster+
+					echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
+					;; \
+			esac; \
+			\
 			tempDir="$(mktemp -d)"; \
 			cd "$tempDir"; \
 			\
@@ -136,7 +148,10 @@ RUN set -ex; \
 # if we have leftovers from building, let's purge them (including extra, unnecessary build deps)
 		apt-get purge -y --auto-remove; \
 		rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; \
-	fi
+	fi; \
+	\
+# some of the steps above generate a lot of "*.pyc" files (and setting "PYTHONDONTWRITEBYTECODE" beforehand doesn't propagate properly for some reason), so we clean them up manually (as long as they aren't owned by a package)
+	find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +
 
 # make the sample config easier to munge (and "correct by default")
 RUN mv -v "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample" /usr/share/postgresql/ \
diff --git a/postgres_9/Dockerfile b/postgres_9/Dockerfile
index 0277379..4ef1423 100644
--- a/postgres_9/Dockerfile
+++ b/postgres_9/Dockerfile
@@ -75,6 +75,9 @@ ENV PG_VERSION 9.6.10-1.pgdg90+1
 
 RUN set -ex; \
 	\
+# see note below about "*.pyc" files
+	export PYTHONDONTWRITEBYTECODE=1; \
+	\
 	dpkgArch="$(dpkg --print-architecture)"; \
 	case "$dpkgArch" in \
 		amd64|i386|ppc64el) \
@@ -87,6 +90,15 @@ RUN set -ex; \
 # let's build binaries from their published source packages
 			echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \
 			\
+			case "$PG_MAJOR" in \
+				9.* | 10 ) ;; \
+				*) \
+# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)
+# TODO remove this once we hit buster+
+					echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
+					;; \
+			esac; \
+			\
 			tempDir="$(mktemp -d)"; \
 			cd "$tempDir"; \
 			\
@@ -136,7 +148,10 @@ RUN set -ex; \
 # if we have leftovers from building, let's purge them (including extra, unnecessary build deps)
 		apt-get purge -y --auto-remove; \
 		rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; \
-	fi
+	fi; \
+	\
+# some of the steps above generate a lot of "*.pyc" files (and setting "PYTHONDONTWRITEBYTECODE" beforehand doesn't propagate properly for some reason), so we clean them up manually (as long as they aren't owned by a package)
+	find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +
 
 # make the sample config easier to munge (and "correct by default")
 RUN mv -v "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample" /usr/share/postgresql/ \
diff --git a/postgres_latest/Dockerfile b/postgres_latest/Dockerfile
index 3e2407a..e4185e4 100644
--- a/postgres_latest/Dockerfile
+++ b/postgres_latest/Dockerfile
@@ -75,6 +75,9 @@ ENV PG_VERSION 10.5-1.pgdg90+1
 
 RUN set -ex; \
 	\
+# see note below about "*.pyc" files
+	export PYTHONDONTWRITEBYTECODE=1; \
+	\
 	dpkgArch="$(dpkg --print-architecture)"; \
 	case "$dpkgArch" in \
 		amd64|i386|ppc64el) \
@@ -87,6 +90,15 @@ RUN set -ex; \
 # let's build binaries from their published source packages
 			echo "deb-src http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main $PG_MAJOR" > /etc/apt/sources.list.d/pgdg.list; \
 			\
+			case "$PG_MAJOR" in \
+				9.* | 10 ) ;; \
+				*) \
+# https://github.com/docker-library/postgres/issues/484 (clang-6.0 required, only available in stretch-backports)
+# TODO remove this once we hit buster+
+					echo 'deb http://deb.debian.org/debian stretch-backports main' >> /etc/apt/sources.list.d/pgdg.list; \
+					;; \
+			esac; \
+			\
 			tempDir="$(mktemp -d)"; \
 			cd "$tempDir"; \
 			\
@@ -135,7 +147,10 @@ RUN set -ex; \
 # if we have leftovers from building, let's purge them (including extra, unnecessary build deps)
 		apt-get purge -y --auto-remove; \
 		rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; \
-	fi
+	fi; \
+	\
+# some of the steps above generate a lot of "*.pyc" files (and setting "PYTHONDONTWRITEBYTECODE" beforehand doesn't propagate properly for some reason), so we clean them up manually (as long as they aren't owned by a package)
+	find /usr -name '*.pyc' -type f -exec bash -c 'for pyc; do dpkg -S "$pyc" &> /dev/null || rm -vf "$pyc"; done' -- '{}' +
 
 # make the sample config easier to munge (and "correct by default")
 RUN mv -v "/usr/share/postgresql/$PG_MAJOR/postgresql.conf.sample" /usr/share/postgresql/ \

@yosifkit
Copy link
Member

Build test of #4760; 16d7d46; amd64 (docker, ghost, golang, postgres):

$ bashbrew build docker:18.06.1-ce
Building bashbrew/cache:d00e456e73cd4fca99f89ec4bd7ad4911eca19aba103cb417c7e852aa0070d09 (docker:18.06.1-ce)
Tagging docker:18.06.1-ce
Tagging docker:18.06.1
Tagging docker:18.06
Tagging docker:18
Tagging docker:edge
Tagging docker:stable
Tagging docker:test
Tagging docker:latest

$ test/run.sh docker:18.06.1-ce
testing docker:18.06.1-ce
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build docker:18.06.1-ce-dind
Building bashbrew/cache:1a12d77faf4a8b2c7bbfa52195c3010d168f5e7381f06ba85e21d2cf8968fa27 (docker:18.06.1-ce-dind)
Tagging docker:18.06.1-ce-dind
Tagging docker:18.06.1-dind
Tagging docker:18.06-dind
Tagging docker:18-dind
Tagging docker:edge-dind
Tagging docker:stable-dind
Tagging docker:test-dind
Tagging docker:dind

$ test/run.sh docker:18.06.1-ce-dind
testing docker:18.06.1-ce-dind
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'docker-dind' [5/6]...passed
	'docker-registry-push-pull' [6/6]...passed


$ bashbrew build docker:18.06.1-ce-git
Building bashbrew/cache:2cbb4185e2511dc15f2c896c26a11f1981b0f928ea724158ec5b998756d0cf35 (docker:18.06.1-ce-git)
Tagging docker:18.06.1-ce-git
Tagging docker:18.06.1-git
Tagging docker:18.06-git
Tagging docker:18-git
Tagging docker:edge-git
Tagging docker:stable-git
Tagging docker:test-git
Tagging docker:git

$ test/run.sh docker:18.06.1-ce-git
testing docker:18.06.1-ce-git
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed
$ bashbrew build ghost:2.0.3
Building bashbrew/cache:d48c3f4945b38d8579cf98380298375c411ddbde33cb5707974127facffdc3b2 (ghost:2.0.3)
Tagging ghost:2.0.3
Tagging ghost:2.0
Tagging ghost:2
Tagging ghost:latest

$ test/run.sh ghost:2.0.3
testing ghost:2.0.3
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'ghost-basics' [5/5].....passed


$ bashbrew build ghost:2.0.3-alpine
Building bashbrew/cache:27b31cf930b81de6a13bfbffa7c5f9fd9da0858dbd1302a9702d682be3175615 (ghost:2.0.3-alpine)
Tagging ghost:2.0.3-alpine
Tagging ghost:2.0-alpine
Tagging ghost:2-alpine
Tagging ghost:alpine

$ test/run.sh ghost:2.0.3-alpine
testing ghost:2.0.3-alpine
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'ghost-basics' [5/5]....passed


$ bashbrew build ghost:1.25.5
Using bashbrew/cache:29ef2e76e68f0c19d6d171e3a922e54b667991d9427cc09333e0d7cfe42b7d1f (ghost:1.25.5)
Tagging ghost:1.25.5
Tagging ghost:1.25
Tagging ghost:1

$ test/run.sh ghost:1.25.5
testing ghost:1.25.5
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'ghost-basics' [5/5].....passed


$ bashbrew build ghost:1.25.5-alpine
Using bashbrew/cache:23f21aba136d1b53928ba37277dcff3388f7c4069a6945554ceb4a9e5d754f92 (ghost:1.25.5-alpine)
Tagging ghost:1.25.5-alpine
Tagging ghost:1.25-alpine
Tagging ghost:1-alpine

$ test/run.sh ghost:1.25.5-alpine
testing ghost:1.25.5-alpine
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'ghost-basics' [5/5].....passed


$ bashbrew build ghost:0.11.13
Using bashbrew/cache:0dae588aa188dd99045bb73a14973e5026dfc8fcd5f4dc413ef05354a6f8bbcd (ghost:0.11.13)
Tagging ghost:0.11.13
Tagging ghost:0.11
Tagging ghost:0

$ test/run.sh ghost:0.11.13
testing ghost:0.11.13
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'ghost-basics' [5/5]....passed


$ bashbrew build ghost:0.11.13-alpine
Using bashbrew/cache:fa543bbbf28955b852d066114f35a3f2f409345ebc75832bd3bee66617486195 (ghost:0.11.13-alpine)
Tagging ghost:0.11.13-alpine
Tagging ghost:0.11-alpine
Tagging ghost:0-alpine

$ test/run.sh ghost:0.11.13-alpine
testing ghost:0.11.13-alpine
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'ghost-basics' [5/5]....passed
$ bashbrew build golang:1.11rc1-stretch
Using bashbrew/cache:311228c67015fa8321d674a397aaab1145a7eef7508a04830f90554d5bf827ba (golang:1.11rc1-stretch)
Tagging golang:1.11rc1-stretch
Tagging golang:1.11-rc-stretch
Tagging golang:rc-stretch
Tagging golang:1.11rc1
Tagging golang:1.11-rc
Tagging golang:rc

$ test/run.sh golang:1.11rc1-stretch
testing golang:1.11rc1-stretch
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.11rc1-alpine3.8
Building bashbrew/cache:c2c2802f265bfd374c9619b951a0d06d73fe1816fc55863b52f5910d157bef68 (golang:1.11rc1-alpine3.8)
Tagging golang:1.11rc1-alpine3.8
Tagging golang:1.11-rc-alpine3.8
Tagging golang:rc-alpine3.8
Tagging golang:1.11rc1-alpine
Tagging golang:1.11-rc-alpine
Tagging golang:rc-alpine

$ test/run.sh golang:1.11rc1-alpine3.8
testing golang:1.11rc1-alpine3.8
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.11rc1-alpine3.7
Building bashbrew/cache:4fdb0db7cdb2f9e06917c8aef594c10664416c0a150842d9a5917b8e0bb0c939 (golang:1.11rc1-alpine3.7)
Tagging golang:1.11rc1-alpine3.7
Tagging golang:1.11-rc-alpine3.7
Tagging golang:rc-alpine3.7

$ test/run.sh golang:1.11rc1-alpine3.7
testing golang:1.11rc1-alpine3.7
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.11rc1-windowsservercore-ltsc2016
skipping "golang:1.11rc1-windowsservercore-ltsc2016" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.11rc1-windowsservercore-ltsc2016
testing golang:1.11rc1-windowsservercore-ltsc2016
	image does not exist!


$ bashbrew build golang:1.11rc1-windowsservercore-1709
skipping "golang:1.11rc1-windowsservercore-1709" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.11rc1-windowsservercore-1709
testing golang:1.11rc1-windowsservercore-1709
	image does not exist!


$ bashbrew build golang:1.11rc1-windowsservercore-1803
skipping "golang:1.11rc1-windowsservercore-1803" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.11rc1-windowsservercore-1803
testing golang:1.11rc1-windowsservercore-1803
	image does not exist!


$ bashbrew build golang:1.11rc1-nanoserver-sac2016
skipping "golang:1.11rc1-nanoserver-sac2016" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.11rc1-nanoserver-sac2016
testing golang:1.11rc1-nanoserver-sac2016
	image does not exist!


$ bashbrew build golang:1.10.3-stretch
Using bashbrew/cache:723bafbba5a09db771a6f2ab62b16c9602c2b7d765824af6b70f0eae4f76638e (golang:1.10.3-stretch)
Tagging golang:1.10.3-stretch
Tagging golang:1.10-stretch
Tagging golang:1-stretch
Tagging golang:stretch
Tagging golang:1.10.3
Tagging golang:1.10
Tagging golang:1
Tagging golang:latest

$ test/run.sh golang:1.10.3-stretch
testing golang:1.10.3-stretch
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.10.3-alpine3.8
Building bashbrew/cache:b3a9786a058a379817c14d45250bd61262c7d7350065cbdee8ca9ed02a3f8974 (golang:1.10.3-alpine3.8)
Tagging golang:1.10.3-alpine3.8
Tagging golang:1.10-alpine3.8
Tagging golang:1-alpine3.8
Tagging golang:alpine3.8
Tagging golang:1.10.3-alpine
Tagging golang:1.10-alpine
Tagging golang:1-alpine
Tagging golang:alpine

$ test/run.sh golang:1.10.3-alpine3.8
testing golang:1.10.3-alpine3.8
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.10.3-alpine3.7
Building bashbrew/cache:44bc4cd460d41f22b375d9db87c045af079187ac34711bf3ef4dd9c4852785b7 (golang:1.10.3-alpine3.7)
Tagging golang:1.10.3-alpine3.7
Tagging golang:1.10-alpine3.7
Tagging golang:1-alpine3.7
Tagging golang:alpine3.7

$ test/run.sh golang:1.10.3-alpine3.7
testing golang:1.10.3-alpine3.7
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.10.3-windowsservercore-ltsc2016
skipping "golang:1.10.3-windowsservercore-ltsc2016" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.10.3-windowsservercore-ltsc2016
testing golang:1.10.3-windowsservercore-ltsc2016
	image does not exist!


$ bashbrew build golang:1.10.3-windowsservercore-1709
skipping "golang:1.10.3-windowsservercore-1709" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.10.3-windowsservercore-1709
testing golang:1.10.3-windowsservercore-1709
	image does not exist!


$ bashbrew build golang:1.10.3-windowsservercore-1803
skipping "golang:1.10.3-windowsservercore-1803" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.10.3-windowsservercore-1803
testing golang:1.10.3-windowsservercore-1803
	image does not exist!


$ bashbrew build golang:1.10.3-nanoserver-sac2016
skipping "golang:1.10.3-nanoserver-sac2016" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.10.3-nanoserver-sac2016
testing golang:1.10.3-nanoserver-sac2016
	image does not exist!


$ bashbrew build golang:1.9.7-stretch
Using bashbrew/cache:fd0a7daf3898dea79192788d441fb458bdd2c743d18884f681329181117f4c18 (golang:1.9.7-stretch)
Tagging golang:1.9.7-stretch
Tagging golang:1.9-stretch
Tagging golang:1.9.7
Tagging golang:1.9

$ test/run.sh golang:1.9.7-stretch
testing golang:1.9.7-stretch
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.9.7-alpine3.8
Building bashbrew/cache:0812d343669a915cf8bf46191d719f962be84fb0ff8676c802aa7cab1ac24c00 (golang:1.9.7-alpine3.8)
Tagging golang:1.9.7-alpine3.8
Tagging golang:1.9-alpine3.8
Tagging golang:1.9.7-alpine
Tagging golang:1.9-alpine

$ test/run.sh golang:1.9.7-alpine3.8
testing golang:1.9.7-alpine3.8
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.9.7-alpine3.7
Building bashbrew/cache:3d39321231e9400f2e55e08d5dee2fddcfdf971087e64c7589c9fb5c4951ce87 (golang:1.9.7-alpine3.7)
Tagging golang:1.9.7-alpine3.7
Tagging golang:1.9-alpine3.7

$ test/run.sh golang:1.9.7-alpine3.7
testing golang:1.9.7-alpine3.7
	'utc' [1/5]...passed
	'cve-2014--shellshock' [2/5]...passed
	'no-hard-coded-passwords' [3/5]...passed
	'override-cmd' [4/5]...passed
	'golang-hello-world' [5/5]...passed


$ bashbrew build golang:1.9.7-windowsservercore-ltsc2016
skipping "golang:1.9.7-windowsservercore-ltsc2016" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.9.7-windowsservercore-ltsc2016
testing golang:1.9.7-windowsservercore-ltsc2016
	image does not exist!


$ bashbrew build golang:1.9.7-windowsservercore-1709
skipping "golang:1.9.7-windowsservercore-1709" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.9.7-windowsservercore-1709
testing golang:1.9.7-windowsservercore-1709
	image does not exist!


$ bashbrew build golang:1.9.7-windowsservercore-1803
skipping "golang:1.9.7-windowsservercore-1803" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.9.7-windowsservercore-1803
testing golang:1.9.7-windowsservercore-1803
	image does not exist!


$ bashbrew build golang:1.9.7-nanoserver-sac2016
skipping "golang:1.9.7-nanoserver-sac2016" (due to architecture "amd64"; only "windows-amd64" supported)

$ test/run.sh golang:1.9.7-nanoserver-sac2016
testing golang:1.9.7-nanoserver-sac2016
	image does not exist!
$ bashbrew build postgres:11-beta3
Building bashbrew/cache:447f0af286d2a9c4e1248f5ffaf956d5efadc0b7ba0b092886f91f8abbe9c2fb (postgres:11-beta3)
Tagging postgres:11-beta3
Tagging postgres:11

$ test/run.sh postgres:11-beta3
testing postgres:11-beta3
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6]....passed
	'postgres-initdb' [6/6]....passed


$ bashbrew build postgres:11-beta3-alpine
Using bashbrew/cache:3eeb24e768f5cd59a9a4d06bbac2f95c4d58507bed2c7609cdc5e9b1f9fc0376 (postgres:11-beta3-alpine)
Tagging postgres:11-beta3-alpine
Tagging postgres:11-alpine

$ test/run.sh postgres:11-beta3-alpine
testing postgres:11-beta3-alpine
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6]....passed
	'postgres-initdb' [6/6]....passed


$ bashbrew build postgres:10.5
Building bashbrew/cache:f6edfb5c306dde921b3e56913249e2d6b8afbe3b5c7268619555108935114e12 (postgres:10.5)
Tagging postgres:10.5
Tagging postgres:10
Tagging postgres:latest

$ test/run.sh postgres:10.5
testing postgres:10.5
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6]....passed
	'postgres-initdb' [6/6]....passed


$ bashbrew build postgres:10.5-alpine
Using bashbrew/cache:272ea7b2a9a20e20e0af22948f930d463361ed21b07d861f8746d239e86f1502 (postgres:10.5-alpine)
Tagging postgres:10.5-alpine
Tagging postgres:10-alpine
Tagging postgres:alpine

$ test/run.sh postgres:10.5-alpine
testing postgres:10.5-alpine
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6]....passed
	'postgres-initdb' [6/6]....passed


$ bashbrew build postgres:9.6.10
Building bashbrew/cache:1d4f1a07cd55f09e9e2ba4660ad65cc92d7b5037db03a884138f1feeee8a3118 (postgres:9.6.10)
Tagging postgres:9.6.10
Tagging postgres:9.6
Tagging postgres:9

$ test/run.sh postgres:9.6.10
testing postgres:9.6.10
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed


$ bashbrew build postgres:9.6.10-alpine
Using bashbrew/cache:a2f82eae747861e3d5d7469ada120166cacc3644f067255cd6915ca31770ca26 (postgres:9.6.10-alpine)
Tagging postgres:9.6.10-alpine
Tagging postgres:9.6-alpine
Tagging postgres:9-alpine

$ test/run.sh postgres:9.6.10-alpine
testing postgres:9.6.10-alpine
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed


$ bashbrew build postgres:9.5.14
Building bashbrew/cache:65b5d062ec43f6f0d09f7c87ea07245e06ad1dea26b882c1d1116fc2f6c7ebca (postgres:9.5.14)
Tagging postgres:9.5.14
Tagging postgres:9.5

$ test/run.sh postgres:9.5.14
testing postgres:9.5.14
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed


$ bashbrew build postgres:9.5.14-alpine
Using bashbrew/cache:37c348475ebc5e31db7f3929513ac0fed96cfa541b04901e8d994ef4bb368617 (postgres:9.5.14-alpine)
Tagging postgres:9.5.14-alpine
Tagging postgres:9.5-alpine

$ test/run.sh postgres:9.5.14-alpine
testing postgres:9.5.14-alpine
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed


$ bashbrew build postgres:9.4.19
Building bashbrew/cache:1a57622234b2075764971de0ccbc4425699a6f57a91614ff206ac9c93364366c (postgres:9.4.19)
Tagging postgres:9.4.19
Tagging postgres:9.4

$ test/run.sh postgres:9.4.19
testing postgres:9.4.19
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed


$ bashbrew build postgres:9.4.19-alpine
Using bashbrew/cache:e3fa5ceb94f5a8c799fc27c7bc8cc47bfb9b3af1f446ee16f50016d20b94cfa3 (postgres:9.4.19-alpine)
Tagging postgres:9.4.19-alpine
Tagging postgres:9.4-alpine

$ test/run.sh postgres:9.4.19-alpine
testing postgres:9.4.19-alpine
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed


$ bashbrew build postgres:9.3.24
Building bashbrew/cache:8a3fd78d7a9d8bfec2434a7897017060d57b22fba5a0deeb31eafd35b5b55240 (postgres:9.3.24)
Tagging postgres:9.3.24
Tagging postgres:9.3

$ test/run.sh postgres:9.3.24
testing postgres:9.3.24
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed


$ bashbrew build postgres:9.3.24-alpine
Using bashbrew/cache:84160afde51520f07fcbe71e52b8b9b9202a2d3e3a71c87412b9ee4b44d6cd27 (postgres:9.3.24-alpine)
Tagging postgres:9.3.24-alpine
Tagging postgres:9.3-alpine

$ test/run.sh postgres:9.3.24-alpine
testing postgres:9.3.24-alpine
	'utc' [1/6]...passed
	'cve-2014--shellshock' [2/6]...passed
	'no-hard-coded-passwords' [3/6]...passed
	'override-cmd' [4/6]...passed
	'postgres-basics' [5/6].....passed
	'postgres-initdb' [6/6].....passed

The following images failed at least one test:

  • golang:
    • golang:1.11rc1-windowsservercore-ltsc2016
    • golang:1.11rc1-windowsservercore-1709
    • golang:1.11rc1-windowsservercore-1803
    • golang:1.11rc1-nanoserver-sac2016
    • golang:1.10.3-windowsservercore-ltsc2016
    • golang:1.10.3-windowsservercore-1709
    • golang:1.10.3-windowsservercore-1803
    • golang:1.10.3-nanoserver-sac2016
    • golang:1.9.7-windowsservercore-ltsc2016
    • golang:1.9.7-windowsservercore-1709
    • golang:1.9.7-windowsservercore-1803
    • golang:1.9.7-nanoserver-sac2016

@yosifkit yosifkit merged commit 27f16b9 into docker-library:master Aug 22, 2018
@yosifkit yosifkit deleted the update-docker-library branch August 22, 2018 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants