Install Oracle 26ai + APEX 26.1 with Docker
A clean, tested local stack — the 26ai database, ORDS and APEX in containers — on Windows or Linux in about 30 minutes.
Run the full Oracle 26ai stack — database, ORDS, and APEX 26.1 — locally in Docker. This is the foundation every other guide builds on, and the exact same docker-compose.yml moves to a cloud VM unchanged.
Pick your OS — every command block on this page switches with it:
Prerequisites
You need Docker and ~15 GB of free disk. On Windows, Docker Desktop runs on WSL2.
# Check virtualization (run in admin PowerShell) systeminfo | Select-String "Hyper-V|Virtualization" # Install WSL2 (reboot if prompted), then install Docker Desktop wsl --install
Verify Docker works before continuing:
docker run hello-world
⚠ WSL2 line-endings gotcha
.env on Windows with Notepad it may save CRLF line endings that WSL2 dislikes. If you hit strange errors, re-save the file as UTF-8 with LF line endings.Get access to the Oracle image
Create a free account at container-registry.oracle.com, open Database → free, and accept the license once. Then log Docker in:
docker login container-registry.oracle.com
You should see Login Succeeded.
Bring up the full stack
The fastest path is a Compose stack that wires the database, ORDS and APEX together.
cd $HOME git clone https://github.com/demasy/oracle-sandbox.git cd oracle-sandbox copy .env.example .env notepad .env # set ORACLE_PWD to a strong password
docker compose up -d
First run pulls images and installs APEX — it takes several minutes. Press Run to see what a healthy startup looks like:
Verify and first login
Confirm the containers are healthy, then open APEX:
docker ps
Open http://localhost:8080/ords/apex — you should see the APEX login screen. Sign in to the INTERNAL workspace as admin (the initial password is in the project README or the logs; reset it with apxchpwd.sql if needed), then create your own workspace and schema.
ℹ Connection cheat-sheet
localhost · Port 1521 · Service FREEPDB1 · Admin SYSTEM · APEX http://localhost:8080/ords/apex · EM Express https://localhost:5500/emDaily lifecycle
docker compose stop # pause (keeps data) docker compose start # resume docker compose down # remove containers (volume persists) docker compose down -v # full reset (deletes data)
Try a couple of safe commands yourself:
Check your understanding
Check your understanding
0% · 0/3What URL serves APEX after this install?
Which service name is the pluggable database?
You edited .env on Windows and hit odd errors. Likely cause?
That's a complete local Oracle + APEX environment. Next: build your first app by chatting with an AI agent.
Need this delivered?
Request a quote