Sign inSign up

deaddev/ubuntu

By deaddev

•Updated 4 days ago

Image
0

10K+

deaddev/ubuntu repository overview

⁠Ubuntu

Source: Dockerfile⁠

Slighly unminimized Ubuntu images with quality-of-life improvements built in. A few variants are available offering common build tools and runtimes.

docker pull deaddev/ubuntu
# or
docker pull ghcr.io/zigzagt/ubuntu

All images are built for linux/amd64 and linux/arm64 platforms.

⁠Supported Tags
TagContent
latest, 24.04Ubuntu 24.04 Base
26.04Ubuntu 26.04 Base
22.04Ubuntu 22.04 Base
node, nodejs, nodejs-24Node.js 24 on Latest Ubuntu (24.04)
nodejs-22Node.js 22 on Latest Ubuntu (24.04)
26.04-nodejs, 26.04-nodejs-24Node.js 24 on Ubuntu 26.04
26.04-nodejs-22Node.js 22 on Ubuntu 26.04
24.04-nodejs, 24.04-nodejs-24Node.js 24 on Ubuntu 24.04
24.04-nodejs-22Node.js 22 on Ubuntu 24.04
22.04-nodejs, 22.04-nodejs-24Node.js 24 on Ubuntu 22.04
22.04-nodejs-22Node.js 22 on Ubuntu 22.04
26.04-rustRust Stable on Ubuntu 26.04
rustRust Stable on Latest Ubuntu (24.04)
24.04-rustRust Stable on Ubuntu 24.04
22.04-rustRust Stable on Ubuntu 22.04
bunBun on Latest Ubuntu (24.04)
26.04-bunBun on Ubuntu 26.04
24.04-bunBun on Ubuntu 24.04
22.04-bunBun on Ubuntu 22.04
⁠End of Life (EOL)

EOL images are no longer updated and may be removed at any time.

TagContent
20.04Ubuntu 20.04 Base
20.04-nodejs, 20.04-nodejs-24Node.js 24 on Ubuntu 20.04
20.04-nodejs-22Node.js 22 on Ubuntu 20.04
20.04-rustRust Stable on Ubuntu 20.04

⁠Features

  • Set timezone with TZ environment variable
  • Set apt mirror via APT_MIRROR environment variable
  • No installing recommends and suggests from apt-get
  • HTTP ready. curl, wget, and ca-certificates are included in the image

⁠Usage

⁠Set timezone with TZ environment variable
⁠Build time usage

For build time, use build-arg to set the environment variable like docker build --build-arg TZ=America/Vancouver, and then add RUN /container-setup/setup-apt.sh in your Dockerfile.

⁠Runtime usage

If you're not overriding the ENTRYPOINT comes with the image, you may simply set environment like docker run -e TZ=America/Vancouver. Everything would just work. And this even supports non-root users.

See the Use Custom ENTRYPOINT⁠ section for guides of using custom entrypoint script.

⁠Set apt mirror via APT_MIRROR environment variable
⁠Build time usage

For build time, use build-arg to set the environment variable like docker build --build-arg APT_MIRROR=http://archive.ubuntu.com/ubuntu/, and then add RUN /container-setup/setup-tz.sh in your Dockerfile.

⁠Runtime usage

If you're not overriding the ENTRYPOINT comes with the image, you may simply set environment like docker run -e APT_MIRROR=http://archive.ubuntu.com/ubuntu/. Everything would just work. And this even supports non-root users.

See the Use Custom ENTRYPOINT⁠ section for guides of using custom entrypoint script.

you may find a mirror near to you on https://launchpad.net/ubuntu/+archivemirrors⁠

⁠Use Custom ENTRYPOINT

The ENTRYPOINT script buneled with image is used for the features listed above. To make everything work with custom ENTRYPOINT script, use this command in your ENTRYPOINT script for starting the container process:

/container-setup/entrypoint.sh "$@"

You can think it as a equivalent of exec "$@", but with all the perks provided by the image.

If you don't use /container-setup/entrypoint.sh, the container would run, but the features environment variables wouldn't be effective.

⁠Security Caveat

To support TZ and APT_MIRROR configuration for non-root users, setuid binaries (setup-apt and setup-tz) are included in /container-setup/. These binaries can modify system files and pose a security risk depending on your requirements.

Mitigation: The bundled entrypoint.sh removes these setuid binaries after first container start. Use the bundled entrypoint to ensure proper cleanup.

Minimum requirement: If using a custom entrypoint, run rm -f /container-setup/setup-apt /container-setup/setup-tz after initialization.

Note: /container-setup/ has 733 permissions (owner read/write/execute, group/others write/execute only) to allow deletion by any user while preventing directory listing.

⁠GeoIP Variant

For images with MaxMind GeoIP databases, see the separate ubuntu-geoip⁠ image.

Tag summary

Content type

Image

Digest

sha256:4388bd7ec…

Size

468.3 MB

Last updated

4 days ago

docker pull deaddev/ubuntu:26.04-rust