Commit eee8598f authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #44337 from koep/master

Automatic merge from submit-queue (batch tested with PRs 44337, 45775, 45832, 45574, 45758) Refactor gcr.io/google_containers/elasticsearch to alpine **What this PR does / why we need it**: This reduces the image size of the gcr.io/google_containers/elasticsearch image. Before: ``` REPOSITORY TAG IMAGE ID CREATED SIZE gcr.io/google_containers/elasticsearch v2.4.1-2 6941e43df81a 4 weeks ago 419MB ``` After: ``` REPOSITORY TAG IMAGE ID CREATED SIZE gcr.io/google_containers/elasticsearch v2.4.1-2 24ad40c21a52 About an hour ago 178MB ``` **Special notes for your reviewer**: I used a workaround to make the elasticsearch_logging_discovery binary work with alpine. (See [stackoverflow](https://stackoverflow.com/questions/34729748/installed-go-binary-not-found-in-path-on-alpine-linux-docker/35613430#35613430)). Alternatively this can be solved by setting ```CGO_ENABLED=0```when compiling the binary. I didn't feel comfortable chaing the Makefile though, since I'm no golang expert. Feedback wanted!
parents 55639518 df80b76d
# Copyright 2016 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
...@@ -16,15 +16,19 @@ ...@@ -16,15 +16,19 @@
# to work with Kubernetes logging. Inspired by the Dockerfile # to work with Kubernetes logging. Inspired by the Dockerfile
# dockerfile/elasticsearch # dockerfile/elasticsearch
FROM java:openjdk-8-jre FROM java:openjdk-8-jre-alpine
ENV DEBIAN_FRONTEND noninteractive
ENV ELASTICSEARCH_VERSION 2.4.1 ENV ELASTICSEARCH_VERSION 2.4.1
RUN apt-get update \ RUN apk update && \
&& apt-get install -y curl gosu \ apk --no-cache add \
&& apt-get clean --repository https://dl-3.alpinelinux.org/alpine/edge/testing \
--repository https://dl-3.alpinelinux.org/alpine/edge/community \
curl \
shadow \
tar \
gosu
RUN set -x \ RUN set -x \
&& cd / \ && cd / \
...@@ -45,6 +49,7 @@ RUN useradd --no-create-home --user-group elasticsearch \ ...@@ -45,6 +49,7 @@ RUN useradd --no-create-home --user-group elasticsearch \
&& mkdir /data \ && mkdir /data \
&& chown -R elasticsearch:elasticsearch /elasticsearch && chown -R elasticsearch:elasticsearch /elasticsearch
VOLUME ["/data"] VOLUME ["/data"]
EXPOSE 9200 9300 EXPOSE 9200 9300
......
# Copyright 2016 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
# The current value of the tag to be used for building and # The current value of the tag to be used for building and
# pushing an image to gcr.io # pushing an image to gcr.io
TAG = v2.4.1-2 TAG = v2.4.1-3
build: elasticsearch_logging_discovery build: elasticsearch_logging_discovery
docker build --pull -t gcr.io/google_containers/elasticsearch:$(TAG) . docker build --pull -t gcr.io/google_containers/elasticsearch:$(TAG) .
...@@ -25,7 +25,7 @@ push: ...@@ -25,7 +25,7 @@ push:
gcloud docker -- push gcr.io/google_containers/elasticsearch:$(TAG) gcloud docker -- push gcr.io/google_containers/elasticsearch:$(TAG)
elasticsearch_logging_discovery: elasticsearch_logging_discovery:
go build -a -ldflags "-w" elasticsearch_logging_discovery.go CGO_ENABLED=0 GOOS=linux go build -a -ldflags "-w" elasticsearch_logging_discovery.go
clean: clean:
rm elasticsearch_logging_discovery rm elasticsearch_logging_discovery
/* /*
Copyright 2015 The Kubernetes Authors. Copyright 2017 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.
......
#!/bin/bash #!/bin/sh
# Copyright 2015 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
......
# Copyright 2016 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
......
# Copyright 2016 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
......
#!/bin/sh #!/bin/sh
# Copyright 2015 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
......
# Copyright 2016 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
......
# Copyright 2016 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
......
#!/bin/sh #!/bin/sh
# Copyright 2015 The Kubernetes Authors. # Copyright 2017 The Kubernetes Authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment