Packaging Python 3.13 Image Using Ubuntu 24.04

Creating Dockerfile

FROM ubuntu:24.04 as builder
ADD https://www.python.org/ftp/python/3.13.9/Python-3.13.9.tgz /tmp/
RUN sed -i [email protected]@mirrors.tuna.tsinghua.edu.cn@ /etc/apt/sources.list.d/ubuntu.sources && \
    sed -i [email protected]@mirrors.tuna.tsinghua.edu.cn@ /etc/apt/sources.list.d/ubuntu.sources && \
    apt-get -qy update && \
    DEBIAN_FRONTEND=noninteractive apt-get -qy install --no-install-recommends \
    build-essential \
    libbz2-dev \
    libncurses5-dev \
    libncursesw5-dev \
    libgdbm-dev \
    libssl-dev \
    liblzma-dev \
    libsqlite3-dev \
    tk-dev \
    uuid-dev \
    libreadline-dev \
    zlib1g-dev \
    libffi-dev \
    wget \
    curl \
    llvm \
    xz-utils \
    libxml2-dev \
    libxmlsec1-dev \
    libffi-dev \
    libdb-dev && \
    cd /tmp/ && tar xf Python-3.13.9.tgz && \
    cd Python-3.13.9 && \
    ./configure --prefix=/python3 --enable-optimizations --with-ssl-default-suites=openssl && \
    make -j 4 && \
    make install

FROM ubuntu:24.04
COPY --from=builder /python3 /python3
RUN sed -i [email protected]@mirrors.tuna.tsinghua.edu.cn@ /etc/apt/sources.list.d/ubuntu.sources && \
    sed -i [email protected]@mirrors.tuna.tsinghua.edu.cn@ /etc/apt/sources.list.d/ubuntu.sources && \
    apt-get -qy update && \
    DEBIAN_FRONTEND=noninteractive apt-get -qy --no-install-recommends install vim wget curl tzdata && \
    ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone && \
    rm -rf /usr/bin/python3 && \
    ln -s /python3/bin/python3 /usr/bin/python3 && \
    ln -s /python3/bin/pip3 /usr/bin/pip3 && \
    apt-get autoclean && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

Creating build.sh

#!/bin/bash
docker build -t reg.caiwu.corp/basic/python:ubuntu24.04-python-3.13.9 .

Executing build.sh

$ sh build.sh

Leave a Comment