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.
| Tag | Content |
|---|---|
latest, 24.04 | Ubuntu 24.04 Base |
26.04 | Ubuntu 26.04 Base |
22.04 | Ubuntu 22.04 Base |
node, nodejs, nodejs-24 | Node.js 24 on Latest Ubuntu (24.04) |
nodejs-22 | Node.js 22 on Latest Ubuntu (24.04) |
26.04-nodejs, 26.04-nodejs-24 | Node.js 24 on Ubuntu 26.04 |
26.04-nodejs-22 | Node.js 22 on Ubuntu 26.04 |
24.04-nodejs, 24.04-nodejs-24 | Node.js 24 on Ubuntu 24.04 |
24.04-nodejs-22 | Node.js 22 on Ubuntu 24.04 |
22.04-nodejs, 22.04-nodejs-24 | Node.js 24 on Ubuntu 22.04 |
22.04-nodejs-22 | Node.js 22 on Ubuntu 22.04 |
26.04-rust | Rust Stable on Ubuntu 26.04 |
rust | Rust Stable on Latest Ubuntu (24.04) |
24.04-rust | Rust Stable on Ubuntu 24.04 |
22.04-rust | Rust Stable on Ubuntu 22.04 |
bun | Bun on Latest Ubuntu (24.04) |
26.04-bun | Bun on Ubuntu 26.04 |
24.04-bun | Bun on Ubuntu 24.04 |
22.04-bun | Bun on Ubuntu 22.04 |
EOL images are no longer updated and may be removed at any time.
| Tag | Content |
|---|---|
20.04 | Ubuntu 20.04 Base |
20.04-nodejs, 20.04-nodejs-24 | Node.js 24 on Ubuntu 20.04 |
20.04-nodejs-22 | Node.js 22 on Ubuntu 20.04 |
20.04-rust | Rust Stable on Ubuntu 20.04 |
TZ environment variableAPT_MIRROR environment variableapt-getcurl, wget, and ca-certificates are included in the imageTZ environment variableFor 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.
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.
APT_MIRROR environment variableFor 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.
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
ENTRYPOINTThe 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.
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.
For images with MaxMind GeoIP databases, see the separate ubuntu-geoip image.
Content type
Image
Digest
sha256:4388bd7ec…
Size
468.3 MB
Last updated
4 days ago
docker pull deaddev/ubuntu:26.04-rust