Skip to content

Commit 36df9e7

Browse files
committed
Add optimized Python 3.11 Dockerfile with build dependency cleanup
1 parent 2be10fc commit 36df9e7

File tree

3 files changed

+32
-20
lines changed

3 files changed

+32
-20
lines changed

runtimes/languages/python/3.10/Dockerfile

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,28 @@ FROM $BASE_IMAGE
33

44
USER root
55
RUN apt-get update && \
6-
apt-get install -y wget build-essential libncursesw5-dev libssl-dev \
7-
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev && \
6+
apt-get install -y wget build-essential libssl-dev libffi-dev zlib1g-dev && \
87
cd /tmp && wget https://www.python.org/ftp/python/3.10.16/Python-3.10.16.tgz && \
98
tar xzf Python-3.10.16.tgz && \
109
cd Python-3.10.16 && \
11-
./configure --enable-optimizations && \
12-
make -j $(nproc) && \
10+
./configure && \
11+
make -j $(($(nproc) / 2)) && \
1312
make altinstall && \
1413
cd .. && \
15-
rm -rf Python-3.10.16 Python-3.10.16.tgz && \
1614
ln -s /usr/local/bin/python3.10 /usr/bin/python3 && \
1715
ln -s /usr/local/bin/python3.10 /usr/bin/python && \
1816
python3.10 -m ensurepip --upgrade && \
1917
ln -s /usr/local/bin/pip3.10 /usr/bin/pip && \
2018
ln -s /usr/local/bin/pip3.10 /usr/bin/pip3 && \
2119
mkdir /root/.devbox && \
20+
apt-get remove -y build-essential libssl-dev libffi-dev zlib1g-dev && \
21+
apt-get autoremove -y && \
2222
apt-get clean && \
23-
rm -rf /var/lib/apt/lists/*
23+
rm -rf /var/lib/apt/lists/* && \
24+
rm -rf Python-3.10.16 Python-3.10.16.tgz && \
25+
rm -rf /tmp/* /var/tmp/* && \
26+
find /usr/local -name "*.pyc" -delete && \
27+
find /usr/local -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
2428

2529
USER devbox
2630
RUN sudo rm -rf /home/devbox/project/*

runtimes/languages/python/3.11/Dockerfile

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,28 @@ FROM $BASE_IMAGE
33

44
USER root
55
RUN apt-get update && \
6-
apt-get install -y wget build-essential libncursesw5-dev libssl-dev \
7-
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev && \
8-
wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz && \
6+
apt-get install -y wget build-essential libssl-dev libffi-dev zlib1g-dev && \
7+
cd /tmp && wget https://www.python.org/ftp/python/3.11.11/Python-3.11.11.tgz && \
98
tar xzf Python-3.11.11.tgz && \
109
cd Python-3.11.11 && \
11-
./configure --enable-optimizations && \
12-
make -j $(nproc) && \
10+
./configure && \
11+
make -j $(($(nproc) / 2)) && \
1312
make altinstall && \
1413
cd .. && \
15-
rm -rf Python-3.11.11 Python-3.11.11.tgz && \
1614
ln -s /usr/local/bin/python3.11 /usr/bin/python3 && \
1715
ln -s /usr/local/bin/python3.11 /usr/bin/python && \
1816
python3.11 -m ensurepip --upgrade && \
1917
ln -s /usr/local/bin/pip3.11 /usr/bin/pip && \
2018
ln -s /usr/local/bin/pip3.11 /usr/bin/pip3 && \
2119
mkdir /root/.devbox && \
20+
apt-get remove -y build-essential libssl-dev libffi-dev zlib1g-dev && \
21+
apt-get autoremove -y && \
2222
apt-get clean && \
23-
rm -rf /var/lib/apt/lists/*
23+
rm -rf /var/lib/apt/lists/* && \
24+
rm -rf Python-3.11.11 Python-3.11.11.tgz && \
25+
rm -rf /tmp/* /var/tmp/* && \
26+
find /usr/local -name "*.pyc" -delete && \
27+
find /usr/local -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
2428

2529
USER devbox
2630
RUN sudo rm -rf /home/devbox/project/*

runtimes/languages/python/3.12/Dockerfile

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,28 @@ FROM $BASE_IMAGE
33

44
USER root
55
RUN apt-get update && \
6-
apt-get install -y wget build-essential libncursesw5-dev libssl-dev \
7-
libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev && \
8-
wget https://www.python.org/ftp/python/3.12.8/Python-3.12.8.tgz && \
6+
apt-get install -y wget build-essential libssl-dev libffi-dev zlib1g-dev && \
7+
cd /tmp && wget https://www.python.org/ftp/python/3.12.8/Python-3.12.8.tgz && \
98
tar xzf Python-3.12.8.tgz && \
109
cd Python-3.12.8 && \
11-
./configure --enable-optimizations && \
12-
make -j $(nproc) && \
10+
./configure && \
11+
make -j $(($(nproc) / 2)) && \
1312
make altinstall && \
1413
cd .. && \
15-
rm -rf Python-3.12.8 Python-3.12.8.tgz && \
1614
ln -s /usr/local/bin/python3.12 /usr/bin/python3 && \
1715
ln -s /usr/local/bin/python3.12 /usr/bin/python && \
1816
python3.12 -m ensurepip --upgrade && \
1917
ln -s /usr/local/bin/pip3.12 /usr/bin/pip && \
2018
ln -s /usr/local/bin/pip3.12 /usr/bin/pip3 && \
2119
mkdir /root/.devbox && \
20+
apt-get remove -y build-essential libssl-dev libffi-dev zlib1g-dev && \
21+
apt-get autoremove -y && \
2222
apt-get clean && \
23-
rm -rf /var/lib/apt/lists/*
23+
rm -rf /var/lib/apt/lists/* && \
24+
rm -rf Python-3.12.8 Python-3.12.8.tgz && \
25+
rm -rf /tmp/* /var/tmp/* && \
26+
find /usr/local -name "*.pyc" -delete && \
27+
find /usr/local -name "__pycache__" -type d -exec rm -rf {} + 2>/dev/null || true
2428

2529
USER devbox
2630
RUN sudo rm -rf /home/devbox/project/*

0 commit comments

Comments
 (0)