From c7a5ab45e1974d86a19e3eab4a5832a1d8e94600 Mon Sep 17 00:00:00 2001 From: Nicholas Nezis Date: Thu, 30 Apr 2020 19:27:01 -0400 Subject: [PATCH] Adding Ubuntu 20.04 Dockerfiles (#3519) --- docker/compile/Dockerfile.ubuntu20.04 | 52 ++++++++++++++++++++++ docker/dist/Dockerfile.dist.ubuntu20.04 | 57 +++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 docker/compile/Dockerfile.ubuntu20.04 create mode 100644 docker/dist/Dockerfile.dist.ubuntu20.04 diff --git a/docker/compile/Dockerfile.ubuntu20.04 b/docker/compile/Dockerfile.ubuntu20.04 new file mode 100644 index 00000000000..c963910a5d0 --- /dev/null +++ b/docker/compile/Dockerfile.ubuntu20.04 @@ -0,0 +1,52 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +FROM ubuntu:20.04 + +# This is passed to the heron build command via the --config flag +ENV TARGET_PLATFORM ubuntu +ENV bazelVersion 3.0.0 + +ARG DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && apt-get -y install \ + g++ \ + cmake \ + automake \ + libtool-bin \ + libunwind8 \ + libcppunit-dev \ + patch \ + python-dev \ + pkg-config \ + wget \ + zip \ + virtualenv \ + unzip \ + git \ + curl \ + tree \ + openjdk-11-jdk-headless + +ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64 + +RUN wget -O /tmp/bazel.sh https://github.com/bazelbuild/bazel/releases/download/$bazelVersion/bazel-$bazelVersion-installer-linux-x86_64.sh \ + && chmod +x /tmp/bazel.sh \ + && /tmp/bazel.sh + +ADD bazelrc /root/.bazelrc +ADD scripts/compile-platform.sh /compile-platform.sh diff --git a/docker/dist/Dockerfile.dist.ubuntu20.04 b/docker/dist/Dockerfile.dist.ubuntu20.04 new file mode 100644 index 00000000000..6e2284584b7 --- /dev/null +++ b/docker/dist/Dockerfile.dist.ubuntu20.04 @@ -0,0 +1,57 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +FROM ubuntu:20.04 + +ARG DEBIAN_FRONTEND=noninteractive + +RUN apt-get update +RUN apt-get -y install \ + unzip software-properties-common curl python python3 supervisor openjdk-11-jdk-headless + +ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64 +RUN update-ca-certificates -f + +ADD artifacts /heron + +WORKDIR /heron + +# run heron installers +RUN /heron/heron-install.sh \ + && rm -f /heron/heron-install.sh + +RUN ln -s /usr/local/heron/dist/heron-core /heron \ + && mkdir -p /heron/heron-tools \ + && ln -s /usr/local/heron/bin /heron/heron-tools \ + && ln -s /usr/local/heron/conf /heron/heron-tools \ + && ln -s /usr/local/heron/dist /heron/heron-tools \ + && ln -s /usr/local/heron/lib /heron/heron-tools \ + && ln -s /usr/local/heron/release.yaml /heron/heron-tools \ + && ln -s /usr/local/heron/examples /heron \ + && ln -s /usr/local/heron/release.yaml /heron + +ENV HERON_HOME /heron/heron-core/ +RUN export HERON_HOME + +# install zookeeper +ARG ZK_DIST=zookeeper-3.4.14 +ADD dist/scripts /opt/heron-docker/scripts + +RUN sh /opt/heron-docker/scripts/install-zookeeper.sh $ZK_DIST + +ADD dist/conf/zookeeper.conf /opt/zookeeper/conf/zookeeper.conf +ADD dist/conf/sandbox.conf /etc/supervisor/conf.d/