You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudberry.apache.org by dj...@apache.org on 2025/12/18 08:21:31 UTC
(cloudberry-pxf) 26/37: added Maven, Java 8 and pip install for GPDB7 docker images (#860)
This is an automated email from the ASF dual-hosted git repository.
djwang pushed a commit to branch merge-with-upstream
in repository https://gitbox.apache.org/repos/asf/cloudberry-pxf.git
commit 64875eb6652861811704f06b37dc9f8cbb223395
Author: Alexander Denissov <de...@users.noreply.github.com>
AuthorDate: Tue Sep 6 12:05:11 2022 -0700
added Maven, Java 8 and pip install for GPDB7 docker images (#860)
---
concourse/docker/pxf-dev-base/gpdb7/centos7/Dockerfile | 17 +++++++++++++----
.../docker/pxf-dev-base/gpdb7/ubuntu18.04/Dockerfile | 18 ++++++++++++++----
2 files changed, 27 insertions(+), 8 deletions(-)
diff --git a/concourse/docker/pxf-dev-base/gpdb7/centos7/Dockerfile b/concourse/docker/pxf-dev-base/gpdb7/centos7/Dockerfile
index 9256d4ab..628f0d97 100644
--- a/concourse/docker/pxf-dev-base/gpdb7/centos7/Dockerfile
+++ b/concourse/docker/pxf-dev-base/gpdb7/centos7/Dockerfile
@@ -22,9 +22,19 @@ RUN useradd -s /sbin/nologin -d /opt/minio minio \
&& chmod +x /opt/minio/bin/minio \
&& chown -R minio:minio /opt/minio
+ARG MAVEN_VERSION=3.6.3
+ARG USER_HOME_DIR="/root"
+ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries
+
# install dependencies that are missing on the base images
-RUN ln -s /usr/share/apache-maven-*/bin/mvn /usr/bin/mvn \
- && yum install -y rpm-build jq sudo java-1.8.0-openjdk-devel java-11-openjdk-devel && yum clean all
+RUN curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
+ && mkdir -p /usr/share/maven \
+ && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \
+ && rm -f /tmp/apache-maven.tar.gz \
+ && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn \
+ && yum install -y rpm-build python-devel jq sudo java-1.8.0-openjdk java-11-openjdk-devel && yum clean all \
+ && cd /tmp && /usr/bin/pip install --upgrade pip==20.3.3 \
+ && /usr/bin/pip install paramiko --no-cache-dir
# create user gpadmin since GPDB cannot run under root
RUN ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa \
@@ -63,8 +73,7 @@ RUN ssh-keygen -t rsa -N "" -f /root/.ssh/id_rsa \
&& echo >> ~gpadmin/.pxfrc 'export PXF_HOME=/usr/local/pxf-gp7' \
&& echo >> ~gpadmin/.pxfrc 'export PXF_CONF=/home/gpadmin/pxf' \
&& echo >> ~gpadmin/.pxfrc 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' \
- && echo >> ~gpadmin/.pxfrc 'export PG_CONFIG=${GPHOME}/bin/pg_config' \
- && echo >> ~gpadmin/.pxfrc 'export PATH=${PXF_HOME}/bin:${GOPATH}/bin:/usr/local/go/bin:$PATH' \
+ && echo >> ~gpadmin/.pxfrc 'export PATH=${GPHOME}/bin:${PXF_HOME}/bin:${GOPATH}/bin:/usr/local/go/bin:$JAVA_HOME/bin:$PATH' \
&& ln -s ~gpadmin/.pxfrc ~root \
&& echo >> ~gpadmin/.bashrc 'source ~/.pxfrc' \
&& chown -R gpadmin:gpadmin ~gpadmin
diff --git a/concourse/docker/pxf-dev-base/gpdb7/ubuntu18.04/Dockerfile b/concourse/docker/pxf-dev-base/gpdb7/ubuntu18.04/Dockerfile
index 93c512d3..31cec79a 100644
--- a/concourse/docker/pxf-dev-base/gpdb7/ubuntu18.04/Dockerfile
+++ b/concourse/docker/pxf-dev-base/gpdb7/ubuntu18.04/Dockerfile
@@ -14,12 +14,21 @@ RUN mkdir -p /tmp/pxf_src/ && cd /tmp \
&& rm -rf /usr/local/go && tar -C /usr/local -xzf go.tgz && rm go.tgz
# install dependencies that are missing on the base images
+# install a specific version of perl for tinc
+
+ARG MAVEN_VERSION=3.6.3
+ARG USER_HOME_DIR="/root"
+ARG BASE_URL=https://apache.osuosl.org/maven/maven-3/${MAVEN_VERSION}/binaries
+
RUN apt-get update -y \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y python-dev curl sudo jq openjdk-8-jdk openjdk-11-jdk \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
- && mkdir -p /usr/share/apache-maven-*/ref \
- && ln -s /usr/share/apache-maven-*/bin/mvn /usr/bin/mvn
+ && mkdir -p /usr/share/maven /usr/share/maven/ref \
+ && curl -fsSL -o /tmp/apache-maven.tar.gz ${BASE_URL}/apache-maven-${MAVEN_VERSION}-bin.tar.gz \
+ && tar -xzf /tmp/apache-maven.tar.gz -C /usr/share/maven --strip-components=1 \
+ && rm -f /tmp/apache-maven.tar.gz \
+ && ln -s /usr/share/maven/bin/mvn /usr/bin/mvn
# create user gpadmin since GPDB cannot run under root
RUN locale-gen en_US.UTF-8 \
@@ -42,6 +51,8 @@ RUN locale-gen en_US.UTF-8 \
&& echo "gpadmin:password" | chpasswd 2> /dev/null \
&& { ssh-keyscan localhost; ssh-keyscan 0.0.0.0; } >> /home/gpadmin/.ssh/known_hosts \
&& chown -R gpadmin:gpadmin /home/gpadmin \
+ # install dependencies as gpadmin
+ && su gpadmin -c "pip install paramiko --no-cache-dir" \
# configure gpadmin limits
&& echo >> /etc/security/limits.d/gpadmin-limits.conf 'gpadmin soft core unlimited' \
&& echo >> /etc/security/limits.d/gpadmin-limits.conf 'gpadmin soft nproc 131072' \
@@ -57,8 +68,7 @@ RUN locale-gen en_US.UTF-8 \
&& echo >> ~gpadmin/.pxfrc 'export PXF_HOME=/usr/local/pxf-gp7' \
&& echo >> ~gpadmin/.pxfrc 'export PXF_CONF=/home/gpadmin/pxf' \
&& echo >> ~gpadmin/.pxfrc 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64' \
- && echo >> ~gpadmin/.pxfrc 'export PG_CONFIG=${GPHOME}/bin/pg_config' \
- && echo >> ~gpadmin/.pxfrc 'export PATH=${PXF_HOME}/bin:${GOPATH}/bin:/usr/local/go/bin:$PATH' \
+ && echo >> ~gpadmin/.pxfrc 'export PATH=${GPHOME}/bin:${PXF_HOME}/bin:${GOPATH}/bin:/usr/local/go/bin:$JAVA_HOME/bin:$PATH' \
&& ln -s ~gpadmin/.pxfrc ~root \
&& echo >> ~gpadmin/.bashrc 'source ~/.pxfrc' \
&& echo >> ~gpadmin/.bash_profile '[[ -f ~/.bashrc ]] && . ~/.bashrc' \
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cloudberry.apache.org
For additional commands, e-mail: commits-help@cloudberry.apache.org