abdullahmubeen10 commited on
Commit
2513a22
·
verified ·
1 Parent(s): c1a0453

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +14 -13
Dockerfile CHANGED
@@ -1,11 +1,11 @@
1
- # Download base image ubuntu 18.04
2
- FROM ubuntu:18.04
3
 
4
  # Set environment variables
5
  ENV NB_USER jovyan
6
  ENV NB_UID 1000
7
  ENV HOME /home/${NB_USER}
8
- ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
9
 
10
  # Install required packages
11
  RUN apt-get update && apt-get install -y \
@@ -15,7 +15,7 @@ RUN apt-get update && apt-get install -y \
15
  rsync \
16
  gcc \
17
  libfreetype6-dev \
18
- libhdf5-serial-dev \
19
  libpng-dev \
20
  libzmq3-dev \
21
  python3 \
@@ -25,21 +25,22 @@ RUN apt-get update && apt-get install -y \
25
  pkg-config \
26
  software-properties-common \
27
  graphviz \
28
- openjdk-8-jdk \
29
  ant \
30
  ca-certificates-java \
31
  && apt-get clean \
32
  && update-ca-certificates -f
33
 
34
- # Install Python 3.8 and pip
35
  RUN add-apt-repository ppa:deadsnakes/ppa \
36
  && apt-get update \
37
- && apt-get install -y python3.8 python3-pip \
38
  && apt-get clean
39
 
40
  # Set up JAVA_HOME
41
- RUN echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/" >> /etc/profile \
42
  && echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
 
43
  # Create a new user named "jovyan" with user ID 1000
44
  RUN useradd -m -u ${NB_UID} ${NB_USER}
45
 
@@ -50,17 +51,17 @@ USER ${NB_USER}
50
  ENV HOME=/home/${NB_USER} \
51
  PATH=/home/${NB_USER}/.local/bin:$PATH
52
 
53
- # Set up PySpark to use Python 3.8 for both driver and workers
54
- ENV PYSPARK_PYTHON=/usr/bin/python3.8
55
- ENV PYSPARK_DRIVER_PYTHON=/usr/bin/python3.8
56
 
57
  # Set the working directory to the user's home directory
58
  WORKDIR ${HOME}
59
 
60
  # Upgrade pip and install Python dependencies
61
- RUN python3.8 -m pip install --upgrade pip
62
  COPY requirements.txt /tmp/requirements.txt
63
- RUN python3.8 -m pip install -r /tmp/requirements.txt
64
 
65
  # Copy the application code into the container at /home/jovyan
66
  COPY --chown=${NB_USER}:${NB_USER} . ${HOME}
 
1
+ # Download base image: latest Ubuntu LTS
2
+ FROM ubuntu:22.04
3
 
4
  # Set environment variables
5
  ENV NB_USER jovyan
6
  ENV NB_UID 1000
7
  ENV HOME /home/${NB_USER}
8
+ ENV JAVA_HOME /usr/lib/jvm/java-17-openjdk-amd64/
9
 
10
  # Install required packages
11
  RUN apt-get update && apt-get install -y \
 
15
  rsync \
16
  gcc \
17
  libfreetype6-dev \
18
+ libhdf5-dev \
19
  libpng-dev \
20
  libzmq3-dev \
21
  python3 \
 
25
  pkg-config \
26
  software-properties-common \
27
  graphviz \
28
+ openjdk-17-jdk \
29
  ant \
30
  ca-certificates-java \
31
  && apt-get clean \
32
  && update-ca-certificates -f
33
 
34
+ # Install Python 3.11 (latest stable version)
35
  RUN add-apt-repository ppa:deadsnakes/ppa \
36
  && apt-get update \
37
+ && apt-get install -y python3.11 python3.11-venv python3.11-dev python3-pip \
38
  && apt-get clean
39
 
40
  # Set up JAVA_HOME
41
+ RUN echo "export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64/" >> /etc/profile \
42
  && echo "export PATH=\$JAVA_HOME/bin:\$PATH" >> /etc/profile
43
+
44
  # Create a new user named "jovyan" with user ID 1000
45
  RUN useradd -m -u ${NB_UID} ${NB_USER}
46
 
 
51
  ENV HOME=/home/${NB_USER} \
52
  PATH=/home/${NB_USER}/.local/bin:$PATH
53
 
54
+ # Set up PySpark to use Python 3.11 for both driver and workers
55
+ ENV PYSPARK_PYTHON=/usr/bin/python3.11
56
+ ENV PYSPARK_DRIVER_PYTHON=/usr/bin/python3.11
57
 
58
  # Set the working directory to the user's home directory
59
  WORKDIR ${HOME}
60
 
61
  # Upgrade pip and install Python dependencies
62
+ RUN python3.11 -m pip install --upgrade pip
63
  COPY requirements.txt /tmp/requirements.txt
64
+ RUN python3.11 -m pip install -r /tmp/requirements.txt
65
 
66
  # Copy the application code into the container at /home/jovyan
67
  COPY --chown=${NB_USER}:${NB_USER} . ${HOME}