Ubuntu Dev Environment
Multi-arch (amd64/arm64) Ubuntu Docker images with pre-installed networking, development, and debugging tools. Built for use as a general-purpose dev environment.
Available Images
| Version | Gitea | GitHub |
|---|---|---|
| 24.04 (latest) | gitea.ahkhan.me/docker/ubuntu-24.04 |
ghcr.io/ahkhan03/ubuntu-24.04 |
| 22.04 | gitea.ahkhan.me/docker/ubuntu-22.04 |
ghcr.io/ahkhan03/ubuntu-22.04 |
| 20.04 | gitea.ahkhan.me/docker/ubuntu-20.04 |
ghcr.io/ahkhan03/ubuntu-20.04 |
The ubuntu:latest tag points to Ubuntu 24.04.
Environment Variables
SSH
| Variable | Default | Description |
|---|---|---|
ENABLE_SSH |
true |
Start the SSH server on port 22. Set to false to disable. |
Startup / Shutdown Commands
| Variable | Default | Description |
|---|---|---|
COMMAND_INIT |
— | Command to run on container startup. The last init command runs in the background to allow signal handling. |
COMMAND_INIT01..COMMAND_INIT99 |
— | Additional numbered init commands, executed in order after COMMAND_INIT. |
COMMAND_EXIT |
— | Command to run on container shutdown (before processes are terminated). |
COMMAND_EXIT01..COMMAND_EXIT99 |
— | Additional numbered exit commands, executed in order after COMMAND_EXIT. |
Logging
| Variable | Default | Description |
|---|---|---|
LOG_FILE |
/dev/null |
Path to a log file to tail. When set, the container's stdout will stream this file. |
Mirrors (China)
| Variable | Default | Description |
|---|---|---|
USE_CHINA_MIRRORS |
false |
Switch apt, pip, and npm to Aliyun mirrors on startup. |
Package Updates
| Variable | Default | Description |
|---|---|---|
UPDATE_APT |
false |
Run apt update on startup (with network check). |
Usage Examples
Basic:
docker run -d ghcr.io/ahkhan03/ubuntu-24.04
With a startup command and SSH:
docker run -d -p 2222:22 \
-e COMMAND_INIT="echo 'hello from init'" \
ghcr.io/ahkhan03/ubuntu-24.04
Multiple init/exit commands:
docker run -d \
-e COMMAND_INIT01="echo 'first'" \
-e COMMAND_INIT02="python3 -m http.server 8080" \
-e COMMAND_EXIT01="echo 'shutting down'" \
ghcr.io/ahkhan03/ubuntu-24.04
Without SSH, with China mirrors:
docker run -d \
-e ENABLE_SSH=false \
-e USE_CHINA_MIRRORS=true \
ghcr.io/ahkhan03/ubuntu-24.04
Building
./build.sh
See ./build.sh --help for configuration options.
Description
Languages
Shell
87.4%
Dockerfile
12.6%