Skip to content
This repository was archived by the owner on Mar 3, 2023. It is now read-only.

Commit a51c822

Browse files
authored
Use Build Kit docker feature to shrink the Docker image size (#3669)
1 parent b161317 commit a51c822

20 files changed

+54
-316
lines changed

docker/compile/Dockerfile.centos7

+2-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ ENV bazelVersion 3.7.2
5151

5252
RUN wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/$bazelVersion/bazel-$bazelVersion-installer-linux-x86_64.sh \
5353
&& chmod +x /tmp/bazel.sh \
54-
&& /tmp/bazel.sh
54+
&& /tmp/bazel.sh \
55+
&& rm -rf /tmp/bazel.sh
5556

5657
ADD bazelrc /root/.bazelrc
5758
ADD scripts/compile-platform.sh /compile-platform.sh

docker/compile/Dockerfile.debian10

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ ENV bazelVersion 3.7.2
4747

4848
RUN wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/$bazelVersion/bazel-$bazelVersion-installer-linux-x86_64.sh \
4949
&& chmod +x /tmp/bazel.sh \
50-
&& /tmp/bazel.sh
50+
&& /tmp/bazel.sh \
51+
&& rm -rf /tmp/bazel.sh
5152

5253
ADD bazelrc /root/.bazelrc
5354
ADD scripts/compile-platform.sh /compile-platform.sh

docker/compile/Dockerfile.debian9

-51
This file was deleted.

docker/compile/Dockerfile.ubuntu18.04

+2-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ ENV bazelVersion 3.7.2
4848

4949
RUN wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/$bazelVersion/bazel-$bazelVersion-installer-linux-x86_64.sh \
5050
&& chmod +x /tmp/bazel.sh \
51-
&& /tmp/bazel.sh
51+
&& /tmp/bazel.sh \
52+
&& rm -rf /tmp/bazel.sh
5253

5354
ADD bazelrc /root/.bazelrc
5455
ADD scripts/compile-platform.sh /compile-platform.sh

docker/compile/Dockerfile.ubuntu20.04

+2-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,8 @@ ENV bazelVersion 3.7.2
4949

5050
RUN wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/$bazelVersion/bazel-$bazelVersion-installer-linux-x86_64.sh \
5151
&& chmod +x /tmp/bazel.sh \
52-
&& /tmp/bazel.sh
52+
&& /tmp/bazel.sh \
53+
&& rm -rf /tmp/bazel.sh
5354

5455
ADD bazelrc /root/.bazelrc
5556
ADD scripts/compile-platform.sh /compile-platform.sh

docker/dist/Dockerfile.dist.centos7

+6-9
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18+
#syntax=docker/dockerfile:1.2
1819
FROM centos:centos7
1920

2021
ENV LC_ALL en_US.utf8
2122

2223
RUN yum -y install epel-release \
23-
&& yum -y update \
2424
&& yum -y install \
2525
curl \
2626
java-11-openjdk-headless \
@@ -34,14 +34,12 @@ RUN yum -y install epel-release \
3434

3535
ENV JAVA_HOME /usr/
3636

37-
ADD artifacts /heron
37+
# run Heron installer
38+
RUN --mount=type=bind,source=artifacts,target=/tmp/heron /tmp/heron/heron-install.sh \
39+
&& rm -f /usr/local/heron/dist/heron-core.tar.gz
3840

3941
WORKDIR /heron
4042

41-
# run heron installer
42-
RUN /heron/heron-install.sh \
43-
&& rm -f /heron/heron-install.sh
44-
4543
RUN ln -s /usr/local/heron/dist/heron-core /heron \
4644
&& mkdir -p /heron/heron-tools \
4745
&& ln -s /usr/local/heron/bin /heron/heron-tools \
@@ -55,11 +53,10 @@ RUN ln -s /usr/local/heron/dist/heron-core /heron \
5553
ENV HERON_HOME /heron/heron-core/
5654
RUN export HERON_HOME
5755

58-
# install zookeeper
56+
# install Zookeeper
5957
ARG ZK_DIST=zookeeper-3.5.8
60-
ADD dist/scripts /opt/heron-docker/scripts
6158

62-
RUN sh /opt/heron-docker/scripts/install-zookeeper.sh $ZK_DIST
59+
RUN --mount=type=bind,source=dist,target=/opt/heron-docker/ sh /opt/heron-docker/scripts/install-zookeeper.sh $ZK_DIST
6360

6461
ADD dist/conf/zookeeper.conf /opt/zookeeper/conf/zookeeper.conf
6562
ADD dist/conf/sandbox.conf /etc/supervisor/conf.d/

docker/dist/Dockerfile.dist.debian10

+9-13
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,12 @@
1515
# specific language governing permissions and limitations
1616
# under the License.
1717

18+
#syntax=docker/dockerfile:1.2
1819
FROM openjdk:11-jdk-slim-buster
1920

21+
ENV LC_ALL C.UTF-8
22+
ENV LANG C.UTF-8
23+
2024
RUN apt-get update \
2125
&& apt-get -y install \
2226
curl \
@@ -27,17 +31,12 @@ RUN apt-get update \
2731
unzip \
2832
&& apt-get clean
2933

30-
ADD artifacts /heron
34+
# run Heron installer
35+
RUN --mount=type=bind,source=artifacts,target=/tmp/heron /tmp/heron/heron-install.sh \
36+
&& rm -f /usr/local/heron/dist/heron-core.tar.gz
3137

3238
WORKDIR /heron
3339

34-
# run heron installer
35-
RUN /heron/heron-install.sh && \
36-
rm -rf /heron/heron-install.sh && \
37-
rm -rf /opt/heron/heron-core/lib/scheduler/heron-local-scheduler.jar && \
38-
rm -rf /opt/heron/heron-core/lib/scheduler/heron-mesos-scheduler.jar && \
39-
rm -rf /opt/heron/heron-core/lib/scheduler/heron-slurm-scheduler.jar
40-
4140
RUN ln -s /usr/local/heron/dist/heron-core /heron \
4241
&& mkdir -p /heron/heron-tools \
4342
&& ln -s /usr/local/heron/bin /heron/heron-tools \
@@ -51,14 +50,11 @@ RUN ln -s /usr/local/heron/dist/heron-core /heron \
5150
ENV HERON_HOME /heron/heron-core/
5251
RUN export HERON_HOME
5352

54-
# install zookeeper
53+
# install Zookeeper
5554
ARG ZK_DIST=zookeeper-3.5.8
56-
ADD dist/scripts /opt/heron-docker/scripts
5755

58-
RUN sh /opt/heron-docker/scripts/install-zookeeper.sh $ZK_DIST
56+
RUN --mount=type=bind,source=dist,target=/opt/heron-docker/ sh /opt/heron-docker/scripts/install-zookeeper.sh $ZK_DIST
5957

6058
ADD dist/conf/zookeeper.conf /opt/zookeeper/conf/zookeeper.conf
6159
ADD dist/conf/sandbox.conf /etc/supervisor/conf.d/
6260

63-
ENV LC_ALL C.UTF-8
64-
ENV LANG C.UTF-8

docker/dist/Dockerfile.dist.debian9

-65
This file was deleted.

docker/dist/Dockerfile.dist.ubuntu14.04

-66
This file was deleted.

docker/dist/Dockerfile.dist.ubuntu16.04

-72
This file was deleted.

0 commit comments

Comments
 (0)