Merge pull request #10084 from heitbaum/docker

docker: update to current Ubuntu releases
This commit is contained in:
Christian Hewitt 2025-05-23 13:57:22 +04:00 committed by GitHub
commit 1a1fe96151
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 43 additions and 38 deletions

View File

@ -2,9 +2,9 @@
**Docker containers** **Docker containers**
- Ubuntu - Ubuntu
- focal (Ubuntu 20.04)
- jammy (Ubuntu 22.04) - jammy (Ubuntu 22.04)
- noble (Ubuntu 24.04) - noble (Ubuntu 24.04)
- plucky (Ubuntu 25.04)
- Debian - Debian
- bookworm (Debian 12) - bookworm (Debian 12)

View File

@ -1,37 +0,0 @@
FROM ubuntu:focal
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get dist-upgrade -y \
&& apt-get install -y locales sudo \
&& rm -rf /var/lib/apt/lists/*
RUN locale-gen en_US.UTF-8 \
&& update-locale LANG=en_US.UTF-8 LANGUAGE=en_US:en
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8
RUN adduser --disabled-password --gecos '' docker \
&& adduser docker sudo \
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
RUN apt-get update && apt-get install -y \
curl bash bc gcc-10 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \
unzip diffutils lzop make file g++-10 xfonts-utils xsltproc default-jre-headless python3 \
libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl rdfind \
golang-1.20-go git openssh-client rsync \
--no-install-recommends \
&& ln -s /usr/lib/go-1.20 /usr/lib/go \
&& ln -s /usr/lib/go-1.20/bin/go /usr/bin/go \
&& ln -s /usr/lib/go-1.20/bin/gofmt /usr/bin/gofmt \
&& rm -rf /var/lib/apt/lists/*
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100 \
--slave /usr/bin/cpp cpp /usr/bin/cpp-10 \
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-10
RUN update-alternatives --config gcc
USER docker

View File

@ -0,0 +1,42 @@
FROM ubuntu:plucky
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get dist-upgrade -y \
&& apt-get install -y locales sudo
RUN locale-gen en_US.UTF-8 \
&& update-locale LANG=en_US.UTF-8 LANGUAGE=en_US:en
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8
RUN useradd docker -U -G sudo -m -s /bin/bash \
&& echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
RUN apt-get update
RUN apt-get install -y \
curl bash bc gcc-15 cpp-15 sed patch patchutils tar bzip2 gzip xz-utils zstd perl gawk gperf zip \
unzip diffutils lzop make file g++-15 xfonts-utils xsltproc default-jre-headless python3 \
libc6-dev libncurses5-dev libjson-perl libxml-parser-perl libparse-yapp-perl rdfind \
golang-1.24-go git openssh-client rsync upx-ucl \
--no-install-recommends \
&& ln -s /usr/lib/go-1.24 /usr/lib/go \
&& ln -s /usr/lib/go-1.24/bin/go /usr/bin/go \
&& ln -s /usr/lib/go-1.24/bin/gofmt /usr/bin/gofmt
RUN if [ "$(uname -m)" = "aarch64" ]; then \
apt-get install -y libc6-amd64-cross qemu-user-binfmt --no-install-recommends; \
fi
RUN rm -rf /var/lib/apt/lists/*
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-15 100 \
--slave /usr/bin/cpp cpp /usr/bin/cpp-15 \
--slave /usr/bin/g++ g++ /usr/bin/g++-15 \
--slave /usr/bin/gcov gcov /usr/bin/gcov-15
RUN update-alternatives --config gcc
USER docker